diff options
author | Jeff Morriss <jeff.morriss@ulticom.com> | 2011-05-17 18:58:40 +0000 |
---|---|---|
committer | Jeff Morriss <jeff.morriss@ulticom.com> | 2011-05-17 18:58:40 +0000 |
commit | cdedb31e947919bb3082c026a0e01335a27055ed (patch) | |
tree | 238df2bb8c8d79159022e40db54ba7e738f3f94f /epan | |
parent | c204df4719a1d1da3fe8a0b573b68f5b88bce3a2 (diff) |
As suggested by Chris: use val_to_str_const() instead of match_strval() plus a
NULL-return check.
Use val_to_str_const instead of val_to_str() in a couple places where the string
is constant.
Use val_to_str() instead of blindly passing the return value from match_strval()
into a format routine (to ensure a non-NULL string pointer). A couple of these
were cases where it could not actually return NULL, but I changed it for
consistency.
Store the return value of match_strval() rather than calling it repeatedly.
svn path=/trunk/; revision=37204
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-amqp.c | 50 | ||||
-rw-r--r-- | epan/dissectors/packet-ansi_637.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_a_gm.c | 32 | ||||
-rw-r--r-- | epan/dissectors/packet-hci_h1.c | 10 | ||||
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-ncp-nmas.c | 57 | ||||
-rw-r--r-- | epan/dissectors/packet-ncp-sss.c | 87 | ||||
-rw-r--r-- | epan/dissectors/packet-rpc.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-ses.c | 28 | ||||
-rw-r--r-- | epan/dissectors/packet-spp.c | 11 |
10 files changed, 131 insertions, 158 deletions
diff --git a/epan/dissectors/packet-amqp.c b/epan/dissectors/packet-amqp.c index 6a6c0519f2..cbe0174598 100644 --- a/epan/dissectors/packet-amqp.c +++ b/epan/dissectors/packet-amqp.c @@ -2353,9 +2353,8 @@ dissect_amqp_0_10_connection(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_connection_methods); - if (method_name == NULL) - method_name = "<invalid connection method>"; + method_name = val_to_str_const(method, amqp_0_10_connection_methods, + "<invalid connection method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -2695,9 +2694,8 @@ dissect_amqp_0_10_session(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_session_methods); - if (method_name == NULL) - method_name = "<invalid session method>"; + method_name = val_to_str_const(method, amqp_0_10_session_methods, + "<invalid session method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -2969,9 +2967,8 @@ dissect_amqp_0_10_execution(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_execution_methods); - if (method_name == NULL) - method_name = "<invalid execution method>"; + method_name = val_to_str_const(method, amqp_0_10_execution_methods, + "<invalid execution method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -3160,9 +3157,8 @@ dissect_amqp_0_10_message(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_message_methods); - if (method_name == NULL) - method_name = "<invalid message method>"; + method_name = val_to_str_const(method, amqp_0_10_message_methods, + "<invalid message method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -3512,9 +3508,8 @@ dissect_amqp_0_10_tx(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_tx_methods); - if (method_name == NULL) - method_name = "<invalid tx method>"; + method_name = val_to_str_const(method, amqp_0_10_tx_methods, + "<invalid tx method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -3556,9 +3551,8 @@ dissect_amqp_0_10_dtx(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_dtx_methods); - if (method_name == NULL) - method_name = "<invalid dtx method>"; + method_name = val_to_str_const(method, amqp_0_10_dtx_methods, + "<invalid dtx method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -3757,9 +3751,8 @@ dissect_amqp_0_10_exchange(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_exchange_methods); - if (method_name == NULL) - method_name = "<invalid exchange method>"; + method_name = val_to_str_const(method, amqp_0_10_exchange_methods, + "<invalid exchange method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -4026,9 +4019,8 @@ dissect_amqp_0_10_queue(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_queue_methods); - if (method_name == NULL) - method_name = "<invalid queue method>"; + method_name = val_to_str_const(method, amqp_0_10_queue_methods, + "<invalid queue method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -4187,9 +4179,8 @@ dissect_amqp_0_10_file(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_file_methods); - if (method_name == NULL) - method_name = "<invalid file method>"; + method_name = val_to_str_const(method, amqp_0_10_file_methods, + "<invalid file method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); @@ -4528,9 +4519,8 @@ dissect_amqp_0_10_stream(tvbuff_t *tvb, const gchar* method_name; method = tvb_get_guint8(tvb, offset+1); - method_name = match_strval(method, amqp_0_10_stream_methods); - if (method_name == NULL) - method_name = "<invalid stream method>"; + method_name = val_to_str_const(method, amqp_0_10_stream_methods, + "<invalid stream method>"); if (check_col(pinfo->cinfo, COL_INFO)) { col_append_str(pinfo->cinfo, COL_INFO, method_name); col_append_str(pinfo->cinfo, COL_INFO, " "); diff --git a/epan/dissectors/packet-ansi_637.c b/epan/dissectors/packet-ansi_637.c index 39d6be0873..3c20368227 100644 --- a/epan/dissectors/packet-ansi_637.c +++ b/epan/dissectors/packet-ansi_637.c @@ -1339,9 +1339,7 @@ trans_param_srvc_cat(tvbuff_t *tvb, proto_tree *tree, guint len, guint32 offset, value = tvb_get_ntohs(tvb, offset); - str = match_strval(value, ansi_srvc_cat_strings); - - if (NULL == str) str = "Reserved"; + str = val_to_str_const(value, ansi_srvc_cat_strings, "Reserved"); proto_tree_add_text(tree, tvb, offset, 2, "%s", str); diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c index 1427b3612b..cf8e2468bd 100644 --- a/epan/dissectors/packet-gsm_a_gm.c +++ b/epan/dissectors/packet-gsm_a_gm.c @@ -1231,7 +1231,7 @@ de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui GET_DATA; bits_length = curr_bits_length = oct>>(32-bits_needed); - + proto_tree_add_bits_item(tf_tree, hf_gsm_a_gm_acc_cap_struct_len, tvb, bit_offset, 7, FALSE); proto_item_set_len(tf, (bits_length>>3)+1); /* This is already done - length doesn't contain this field @@ -2770,7 +2770,7 @@ de_gmm_req_ms_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guin { guint32 curr_offset; guint32 bit_offset; - + curr_offset = offset; bit_offset = (curr_offset<<3)+4; @@ -2781,13 +2781,13 @@ de_gmm_req_ms_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guin proto_tree_add_bits_item(tree, hf_gsm_a_spare_bits, tvb, bit_offset, 2, ENC_BIG_ENDIAN); bit_offset+=2; curr_offset++; - + return len; } /* [7] 10.5.5.26 UE network capability * See subclause 9.9.3.x in 3GPP TS 24.301 [120]. - */ + */ /* [7] 10.5.5.27 E-UTRAN inter RAT information container */ static guint16 @@ -2827,7 +2827,7 @@ de_gmm_voice_domain_pref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_ { guint32 curr_offset; guint32 bit_offset; - + curr_offset = offset; bit_offset = curr_offset<<3; @@ -3098,7 +3098,7 @@ static const true_false_string gsm_a_gm_nsapi_ul_stat_vals = { "uplink data are pending for the preserved PDP context", "no uplink data are pending for the preserved PDP context or the PDP context is PDP-INACTIVE or is PDP-ACTIVE with a RAB already established" }; - + static guint16 de_gc_uplink_data_stat(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { @@ -3134,7 +3134,7 @@ de_gc_uplink_data_stat(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, proto_tree_add_bits_item(tree, hf_gsm_a_gm_nsapi_8_ul_stat, tvb, bit_offset, 1, ENC_BIG_ENDIAN); bit_offset++; curr_offset++; - + return(len); } @@ -3958,11 +3958,10 @@ de_sm_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 off const gchar *str; oct = tvb_get_guint8(tvb, offset); - str = match_strval(oct, gsm_a_sm_cause_vals); /* SM Cause can be sent in both directions */ - if (!str) - str = "Protocol error, unspecified / Service option temporarily out of order"; + str = val_to_str_const(oct, gsm_a_sm_cause_vals, + "Protocol error, unspecified / Service option temporarily out of order"); proto_tree_add_uint_format_value(tree, hf_gsm_a_sm_cause, tvb, offset, 1, oct, "%s (%u)", str, oct); @@ -3981,11 +3980,10 @@ de_sm_cause_2(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o const gchar *str; oct = tvb_get_guint8(tvb, offset); - str = match_strval(oct, gsm_a_sm_cause_vals); /* SM Cause 2 is sent only in the Network-to-MS direction */ - if (!str) - str = "Service option temporarily out of order"; + str = val_to_str_const(oct, gsm_a_sm_cause_vals, + "Service option temporarily out of order"); proto_tree_add_uint_format_value(tree, hf_gsm_a_sm_cause_2, tvb, offset, 1, oct, "%s (%u)", str, oct); @@ -4686,7 +4684,7 @@ dtap_gmm_attach_req(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 ELEM_OPT_TV_SHORT( 0x90 , GSM_A_PDU_TYPE_GM, DE_TMSI_STAT , NULL); ELEM_OPT_TLV( 0x33 , GSM_A_PDU_TYPE_GM, DE_PS_LCS_CAP , NULL); - + ELEM_OPT_TLV(0x11, GSM_A_PDU_TYPE_COMMON, DE_MS_CM_2, NULL); ELEM_OPT_TLV(0x20, GSM_A_PDU_TYPE_COMMON, DE_MS_CM_3, NULL); @@ -4754,11 +4752,11 @@ dtap_gmm_attach_acc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 ELEM_OPT_TV_SHORT( 0xB0 , GSM_A_PDU_TYPE_GM, DE_NET_FEAT_SUP , NULL); ELEM_OPT_TLV( 0x34 , GSM_A_PDU_TYPE_DTAP, DE_EMERGENCY_NUM_LIST , NULL); - + ELEM_OPT_TV_SHORT( 0xA0 , GSM_A_PDU_TYPE_GM , DE_REQ_MS_INFO , NULL); - + ELEM_OPT_TLV( 0x37 , GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_2 , " - T3319" ); - + ELEM_OPT_TLV( 0x38 , GSM_A_PDU_TYPE_GM, DE_GPRS_TIMER_2 , " - T3323" ); EXTRANEOUS_DATA_CHECK_EXPERT(curr_len, 0, pinfo); diff --git a/epan/dissectors/packet-hci_h1.c b/epan/dissectors/packet-hci_h1.c index a8e2d03062..5d7b7ebf50 100644 --- a/epan/dissectors/packet-hci_h1.c +++ b/epan/dissectors/packet-hci_h1.c @@ -71,12 +71,12 @@ dissect_hci_h1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if(tree){ ti = proto_tree_add_item(tree, proto_hci_h1, tvb, 0, 0, FALSE); hci_h1_tree = proto_item_add_subtree(ti, ett_hci_h1); - + if(pinfo->p2p_dir == P2P_DIR_SENT || pinfo->p2p_dir == P2P_DIR_RECV) proto_item_append_text(hci_h1_tree, " %s %s", - match_strval(pinfo->p2p_dir, - hci_h1_direction_vals), + val_to_str(pinfo->p2p_dir, + hci_h1_direction_vals, "Unknown: %d"), val_to_str(type, hci_h1_type_vals, "Unknown 0x%02x")); @@ -91,8 +91,8 @@ dissect_hci_h1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if(pinfo->p2p_dir == P2P_DIR_SENT || pinfo->p2p_dir == P2P_DIR_RECV) col_add_fstr(pinfo->cinfo, COL_INFO, "%s %s", - match_strval(pinfo->p2p_dir, - hci_h1_direction_vals), + val_to_str(pinfo->p2p_dir, + hci_h1_direction_vals, "Unknown: %d"), val_to_str(type, hci_h1_type_vals, "Unknown 0x%02x")); else diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 43225c8a92..e1fd3dff82 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -4699,7 +4699,7 @@ dissect_vendor_ie_wpawme(proto_item * item, proto_tree * tree, tvbuff_t * tag_tv byte2 = tvb_get_guint8(tag_tvb, tag_off + 1); g_snprintf(out_buff, SHORT_STR, "WME AC Parameters: ACI %u (%s), Admission Control %sMandatory, AIFSN %u, ECWmin %u, ECWmax %u, TXOP %u", - (byte1 & 0x60) >> 5, match_strval((byte1 & 0x60) >> 5, wme_acs), + (byte1 & 0x60) >> 5, val_to_str((byte1 & 0x60) >> 5, wme_acs, "(Unknown: %d)"), (byte1 & 0x10) ? "" : "not ", byte1 & 0x0f, byte2 & 0x0f, (byte2 & 0xf0) >> 4, tvb_get_letohs(tag_tvb, tag_off + 2)); @@ -5058,7 +5058,7 @@ dissect_vendor_ie_aironet(proto_item * aironet_item, proto_tree * ietree, txop = tvb_get_letohs(tvb, offset + 2); proto_tree_add_bytes_format(ietree, hf_ieee80211_aironet_ie_qos_val, tvb, offset, 4, NULL, "CCX QoS Parameters??: ACI %u (%s), Admission Control %sMandatory, AIFSN %u, ECWmin %u, ECWmax %u, TXOP %u", - (byte1 & 0x60) >> 5, match_strval((byte1 & 0x60) >> 5, wme_acs), + (byte1 & 0x60) >> 5, val_to_str((byte1 & 0x60) >> 5, wme_acs, "(Unknown: %d)"), (byte1 & 0x10) ? "" : "not ", byte1 & 0x0f, byte2 & 0x0f, (byte2 & 0xf0) >> 4, txop); diff --git a/epan/dissectors/packet-ncp-nmas.c b/epan/dissectors/packet-ncp-nmas.c index ba70a11fda..fe40e14485 100644 --- a/epan/dissectors/packet-ncp-nmas.c +++ b/epan/dissectors/packet-ncp-nmas.c @@ -206,7 +206,7 @@ nmas_string(tvbuff_t* tvb, int hfinfo, proto_tree *nmas_tree, int offset, gboole guint16 c_char; guint32 length_remaining = 0; - buffer=ep_alloc(ITEM_LABEL_LENGTH+1); + buffer=ep_alloc(ITEM_LABEL_LENGTH+1); if (little) { str_length = tvb_get_letohl(tvb, foffset); } @@ -224,18 +224,18 @@ nmas_string(tvbuff_t* tvb, int hfinfo, proto_tree *nmas_tree, int offset, gboole } if(str_length == 0) { - proto_tree_add_string(nmas_tree, hfinfo, tvb, offset, + proto_tree_add_string(nmas_tree, hfinfo, tvb, offset, 4, "<Not Specified>"); return foffset; } - /* - * XXX - other than the special-casing of null bytes, - * we could just use "proto_tree_add_item()", as for - * FT_STRING, FT_STRINGZ, and FT_UINT_STRING fields, - * the display representation of an item is generated - * using "format_text()", so it handles non-printable - * characters. - */ + /* + * XXX - other than the special-casing of null bytes, + * we could just use "proto_tree_add_item()", as for + * FT_STRING, FT_STRINGZ, and FT_UINT_STRING fields, + * the display representation of an item is generated + * using "format_text()", so it handles non-printable + * characters. + */ for ( i = 0; i < str_length; i++ ) { c_char = tvb_get_guint8(tvb, foffset ); @@ -261,8 +261,8 @@ nmas_string(tvbuff_t* tvb, int hfinfo, proto_tree *nmas_tree, int offset, gboole if(length_remaining==1) { - i++; - break; + i++; + break; } } buffer[i] = '\0'; @@ -474,7 +474,7 @@ dissect_nmas_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, nc } void -dissect_nmas_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint8 func _U_, guint8 subfunc, ncp_req_hash_value *request_value) +dissect_nmas_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint8 func _U_, guint8 subfunc, ncp_req_hash_value *request_value) { guint32 foffset=0, roffset=0; guint32 subverb=0; @@ -484,6 +484,7 @@ dissect_nmas_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guin proto_tree *atree; proto_item *aitem; proto_item *expert_item; + const gchar *str; foffset = 8; @@ -595,13 +596,12 @@ dissect_nmas_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guin break; case 7: encrypt_error = tvb_get_ntohl(tvb, foffset); - if (match_strval(encrypt_error, nmas_errors_enum)!=NULL) + str = match_strval(encrypt_error, nmas_errors_enum); + if (str) { - if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_fstr(pinfo->cinfo, COL_INFO, "R Payload Error - %s", match_strval(encrypt_error, nmas_errors_enum)); - } + col_add_fstr(pinfo->cinfo, COL_INFO, "R Payload Error - %s", str); expert_item = proto_tree_add_item(atree, hf_encrypt_error, tvb, foffset, 4, FALSE); - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "NMAS Payload Error: %s", match_strval(encrypt_error, nmas_errors_enum)); + expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "NMAS Payload Error: %s", str); } else { @@ -620,13 +620,12 @@ dissect_nmas_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guin break; } } - if (match_strval(return_code, nmas_errors_enum)!=NULL) + str = match_strval(return_code, nmas_errors_enum); + if (str) { expert_item = proto_tree_add_item(atree, hf_return_code, tvb, roffset, 4, TRUE); - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "NMAS Error: 0x%08x %s", return_code, match_strval(return_code, nmas_errors_enum)); - if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_fstr(pinfo->cinfo, COL_INFO, "R Error - %s", match_strval(return_code, nmas_errors_enum)); - } + expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "NMAS Error: 0x%08x %s", return_code, str); + col_add_fstr(pinfo->cinfo, COL_INFO, "R Error - %s", str); } else { @@ -656,27 +655,27 @@ proto_register_nmas(void) { static hf_register_info hf_nmas[] = { { &hf_func, - { "Function", "nmas.func", FT_UINT8, BASE_HEX, NULL, 0x0, + { "Function", "nmas.func", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_subfunc, - { "Subfunction", "nmas.subfunc", FT_UINT8, BASE_HEX, NULL, 0x0, + { "Subfunction", "nmas.subfunc", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_ping_version, - { "Ping Version", "nmas.ping_version", FT_UINT32, BASE_HEX, NULL, 0x0, + { "Ping Version", "nmas.ping_version", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_ping_flags, - { "Flags", "nmas.ping_flags", FT_UINT32, BASE_HEX, NULL, 0x0, + { "Flags", "nmas.ping_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_frag_handle, - { "Fragment Handle", "nmas.frag_handle", FT_UINT32, BASE_HEX, NULL, 0x0, + { "Fragment Handle", "nmas.frag_handle", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_length, - { "Length", "nmas.length", FT_UINT32, BASE_DEC, NULL, 0x0, + { "Length", "nmas.length", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_subverb, diff --git a/epan/dissectors/packet-ncp-sss.c b/epan/dissectors/packet-ncp-sss.c index 4840107954..46a6a9c4f5 100644 --- a/epan/dissectors/packet-ncp-sss.c +++ b/epan/dissectors/packet-ncp-sss.c @@ -171,8 +171,8 @@ process_flags(proto_tree *sss_tree, tvbuff_t *tvb, guint32 foffset) { gchar flags_str[1024]; const gchar *sep; - proto_item *tinew; - proto_tree *flags_tree; + proto_item *tinew; + proto_tree *flags_tree; guint32 i; guint32 bvalue = 0; guint32 flags = 0; @@ -293,7 +293,7 @@ process_flags(proto_tree *sss_tree, tvbuff_t *tvb, guint32 foffset) } tinew = proto_tree_add_uint_format(sss_tree, hf_flags, tvb, foffset, 4, flags, "%s 0x%08x", "Flags:", flags); - flags_tree = proto_item_add_subtree(tinew, ett_nds); + flags_tree = proto_item_add_subtree(tinew, ett_nds); bvalue = 0x00000001; @@ -463,7 +463,7 @@ sss_string(tvbuff_t* tvb, int hfinfo, proto_tree *sss_tree, int offset, gboolean } if(str_length == 0) { - proto_tree_add_string(sss_tree, hfinfo, tvb, offset, + proto_tree_add_string(sss_tree, hfinfo, tvb, offset, 4, "<Not Specified>"); return foffset; } @@ -492,8 +492,8 @@ sss_string(tvbuff_t* tvb, int hfinfo, proto_tree *sss_tree, int offset, gboolean if(length_remaining==1) { - i++; - break; + i++; + break; } } buffer[i] = '\0'; @@ -666,7 +666,7 @@ dissect_sss_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, ncp } void -dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint8 subfunc, ncp_req_hash_value *request_value) +dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint8 subfunc, ncp_req_hash_value *request_value) { guint32 foffset=0; guint32 subverb=0; @@ -675,6 +675,7 @@ dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint guint32 number_of_items=0; gint32 length_of_string=0; guint32 i = 0; + const gchar *str; proto_tree *atree; proto_item *aitem; @@ -698,8 +699,9 @@ dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint case 2: if (request_value) { subverb = request_value->req_nds_flags; - if (match_strval(subverb, sss_verb_enum)) { - proto_tree_add_text(atree, tvb, foffset, tvb_length_remaining(tvb, foffset), "Verb: %s", match_strval(subverb, sss_verb_enum)); + str = match_strval(subverb, sss_verb_enum); + if (str) { + proto_tree_add_text(atree, tvb, foffset, tvb_length_remaining(tvb, foffset), "Verb: %s", str); } } proto_tree_add_item(atree, hf_length, tvb, foffset, 4, TRUE); @@ -713,10 +715,11 @@ dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint { foffset += 4; return_code = tvb_get_letohl(tvb, foffset); - if ( match_strval(return_code, sss_errors_enum) != NULL ) + str = match_strval(return_code, sss_errors_enum); + if (str) { expert_item = proto_tree_add_item(atree, hf_return_code, tvb, foffset, 4, TRUE); - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "SSS Error: %s", match_strval(return_code, sss_errors_enum)); + expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "SSS Error: %s", str); if (check_col(pinfo->cinfo, COL_INFO)) { col_add_fstr(pinfo->cinfo, COL_INFO, "R Error - %s", val_to_str(return_code, sss_errors_enum, "Unknown (%d)")); } @@ -774,30 +777,30 @@ dissect_sss_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, guint void proto_register_sss(void) { - static hf_register_info hf_sss[] = { - { &hf_buffer_size, - { "Buffer Size", "sss.buffer", FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, + static hf_register_info hf_sss[] = { + { &hf_buffer_size, + { "Buffer Size", "sss.buffer", FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, - { &hf_ping_version, - { "Ping Version", "sss.ping_version", FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, + { &hf_ping_version, + { "Ping Version", "sss.ping_version", FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, - { &hf_flags, - { "Flags", "sss.flags", FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, + { &hf_flags, + { "Flags", "sss.flags", FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, - { &hf_context, - { "Context", "sss.context", FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, + { &hf_context, + { "Context", "sss.context", FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, - { &hf_frag_handle, - { "Fragment Handle", "sss.frag_handle", FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, + { &hf_frag_handle, + { "Fragment Handle", "sss.frag_handle", FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, - { &hf_length, - { "Length", "sss.length", FT_UINT32, BASE_DEC, NULL, 0x0, - NULL, HFILL }}, + { &hf_length, + { "Length", "sss.length", FT_UINT32, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, { &hf_verb, { "Verb", "sss.verb", @@ -814,13 +817,13 @@ proto_register_sss(void) FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - { &hf_sss_version, - { "SecretStore Protocol Version", "sss.version", FT_UINT32, BASE_HEX, NULL, 0x0, - NULL, HFILL }}, + { &hf_sss_version, + { "SecretStore Protocol Version", "sss.version", FT_UINT32, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, { &hf_return_code, - { "Return Code", "sss.return_code", FT_UINT32, BASE_HEX, VALS(sss_errors_enum), 0x0, - NULL, HFILL }}, + { "Return Code", "sss.return_code", FT_UINT32, BASE_HEX, VALS(sss_errors_enum), 0x0, + NULL, HFILL }}, { &hf_enc_cred, { "Encrypted Credential", "sss.enc_cred", @@ -930,12 +933,12 @@ proto_register_sss(void) }; - static gint *ett[] = { - &ett_sss, - }; - /*module_t *sss_module;*/ + static gint *ett[] = { + &ett_sss, + }; + /*module_t *sss_module;*/ - proto_sss = proto_register_protocol("Novell SecretStore Services", "SSS", "sss"); - proto_register_field_array(proto_sss, hf_sss, array_length(hf_sss)); - proto_register_subtree_array(ett, array_length(ett)); + proto_sss = proto_register_protocol("Novell SecretStore Services", "SSS", "sss"); + proto_register_field_array(proto_sss, hf_sss, array_length(hf_sss)); + proto_register_subtree_array(ett, array_length(ett)); } diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c index d1085758b8..7435a7fdbe 100644 --- a/epan/dissectors/packet-rpc.c +++ b/epan/dissectors/packet-rpc.c @@ -2242,13 +2242,9 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * AUTH_GSSAPI procname. */ if (flavor == FLAVOR_AUTHGSSAPI_MSG) { - procname = (char *)match_strval(gss_proc, rpc_authgssapi_proc); + procname = (char *)val_to_str_const(gss_proc, rpc_authgssapi_proc, "(null)"); } - /* Don't pass NULL string pointers to the format routines below */ - if (!procname) - procname = "(null)"; - rpc_prog_key.prog = prog; if ((rpc_prog = g_hash_table_lookup(rpc_progs,&rpc_prog_key)) == NULL) { proto = NULL; diff --git a/epan/dissectors/packet-ses.c b/epan/dissectors/packet-ses.c index bac2d2cc84..4f07705851 100644 --- a/epan/dissectors/packet-ses.c +++ b/epan/dissectors/packet-ses.c @@ -873,10 +873,9 @@ dissect_parameter_group(tvbuff_t *tvb, int offset, proto_tree *tree, val_to_str(param_type, param_vals, "Unknown parameter type (0x%02x)")); param_tree = proto_item_add_subtree(ti, ett_ses_param); - param_str = match_strval(param_type, param_vals); + param_str = val_to_str_const(param_type, param_vals, "Unknown"); proto_tree_add_text(param_tree, tvb, offset, 1, - "Parameter type: %s", - param_str != NULL ? param_str : "Unknown"); + "Parameter type: %s", param_str); offset++; pg_len--; param_len = get_item_len(tvb, offset, &len_len); @@ -952,10 +951,9 @@ dissect_parameters(tvbuff_t *tvb, int offset, guint16 len, proto_tree *tree, val_to_str(param_type, param_vals, "Unknown parameter type (0x%02x)")); param_tree = proto_item_add_subtree(ti, ett_ses_param); - param_str = match_strval(param_type, param_vals); + param_str = val_to_str_const(param_type, param_vals, "Unknown"); proto_tree_add_text(param_tree, tvb, offset, 1, - "Parameter type: %s", - param_str != NULL ? param_str : "Unknown"); + "Parameter type: %s", param_str); offset++; len--; param_len = get_item_len(tvb, offset, &len_len); @@ -1136,22 +1134,22 @@ dissect_spdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint32 ses_id = 0; /* Use conversation index as segment id */ - conversation = find_conversation (pinfo->fd->num, - &pinfo->src, &pinfo->dst, pinfo->ptype, + conversation = find_conversation (pinfo->fd->num, + &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0); if (conversation != NULL) { ses_id = conversation->index; } fragment_len = tvb_reported_length_remaining (tvb, offset); - ti = proto_tree_add_item (ses_tree, hf_ses_segment_data, tvb, offset, + ti = proto_tree_add_item (ses_tree, hf_ses_segment_data, tvb, offset, fragment_len, FALSE); proto_item_append_text (ti, " (%d byte%s)", fragment_len, plurality (fragment_len, "", "s")); - frag_msg = fragment_add_seq_next (tvb, offset, pinfo, + frag_msg = fragment_add_seq_next (tvb, offset, pinfo, ses_id, ses_fragment_table, ses_reassembled_table, fragment_len, (enclosure_item_flags & END_SPDU) ? FALSE : TRUE); - next_tvb = process_reassembled_data (tvb, offset, pinfo, "Reassembled SES", - frag_msg, &ses_frag_items, NULL, + next_tvb = process_reassembled_data (tvb, offset, pinfo, "Reassembled SES", + frag_msg, &ses_frag_items, NULL, (enclosure_item_flags & END_SPDU) ? tree : ses_tree); has_user_information = TRUE; @@ -1968,9 +1966,9 @@ dissect_ses_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) type = tvb_get_guint8(tvb, offset+2); /* check SPDU type */ if (match_strval(type, ses_vals) == NULL) - { - return FALSE; /* no, it isn't a session PDU */ - } + { + return FALSE; /* no, it isn't a session PDU */ + } } /* some Siemens SIMATIC protocols also use COTP, and shouldn't be diff --git a/epan/dissectors/packet-spp.c b/epan/dissectors/packet-spp.c index e9c180ad55..2d3f11b8be 100644 --- a/epan/dissectors/packet-spp.c +++ b/epan/dissectors/packet-spp.c @@ -69,8 +69,6 @@ static dissector_table_t spp_socket_dissector_table; static const char* spp_conn_ctrl(guint8 ctrl) { - const char *p; - static const value_string conn_vals[] = { { 0x00, "Data, No Ack Required" }, { SPP_EOM, "End-of-Message" }, @@ -82,14 +80,7 @@ spp_conn_ctrl(guint8 ctrl) { 0x00, NULL } }; - p = match_strval((ctrl & 0xf0), conn_vals ); - - if (p) { - return p; - } - else { - return "Unknown"; - } + return val_to_str_const((ctrl & 0xf0), conn_vals, "Unknown"); } static const char* |