diff options
-rw-r--r-- | epan/dissectors/packet-acap.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-ftp.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-gearman.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-gift.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_sms.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-http.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-icap.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-json.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-l1-events.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-megaco.c | 114 | ||||
-rw-r--r-- | epan/dissectors/packet-mgcp.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-msn-messenger.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-msrp.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-nntp.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-rtsp.c | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-sigcomp.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-sip.c | 25 | ||||
-rw-r--r-- | epan/dissectors/packet-text-media.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-xml.c | 7 | ||||
-rw-r--r-- | epan/proto.c | 17 | ||||
-rw-r--r-- | epan/proto.h | 4 |
21 files changed, 88 insertions, 162 deletions
diff --git a/epan/dissectors/packet-acap.c b/epan/dissectors/packet-acap.c index 5350c7a6e3..07f4ff7937 100644 --- a/epan/dissectors/packet-acap.c +++ b/epan/dissectors/packet-acap.c @@ -114,9 +114,7 @@ dissect_acap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * Put the line into the protocol tree. */ - ti = proto_tree_add_text(acap_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + ti = proto_tree_add_format_text(acap_tree, tvb, offset, next_offset - offset); reqresp_tree = proto_item_add_subtree(ti, ett_acap_reqresp); /* diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c index 53bc48965a..0143d84637 100644 --- a/epan/dissectors/packet-ftp.c +++ b/epan/dissectors/packet-ftp.c @@ -589,8 +589,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } /* Put the line into the protocol tree. */ - ti = proto_tree_add_text(ftp_tree, tvb, 0, next_offset, "%s", - tvb_format_text(tvb, 0, next_offset)); + ti = proto_tree_add_format_text(ftp_tree, tvb, 0, next_offset); reqresp_tree = proto_item_add_subtree(ti, ett_ftp_reqresp); if (is_request) { @@ -884,9 +883,8 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * Put this line. */ - proto_tree_add_text(ftp_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(ftp_tree, tvb, offset, + next_offset - offset); offset = next_offset; } } diff --git a/epan/dissectors/packet-gearman.c b/epan/dissectors/packet-gearman.c index ce7b02b78c..0e7228f826 100644 --- a/epan/dissectors/packet-gearman.c +++ b/epan/dissectors/packet-gearman.c @@ -450,8 +450,7 @@ dissect_management_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (GEARMAN_MGR_CMDS_COUNT == i) { - proto_tree_add_text(gearman_tree, tvb, offset, next_offset - offset, - "%s", tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(gearman_tree, tvb, offset, next_offset - offset); if (type == 0) { diff --git a/epan/dissectors/packet-gift.c b/epan/dissectors/packet-gift.c index 924cf5c914..3769ff84f4 100644 --- a/epan/dissectors/packet-gift.c +++ b/epan/dissectors/packet-gift.c @@ -84,8 +84,7 @@ dissect_gift(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } PROTO_ITEM_SET_HIDDEN(hidden_item); - ti = proto_tree_add_text(gift_tree, tvb, offset, next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + ti = proto_tree_add_format_text(gift_tree, tvb, offset, next_offset - offset); cmd_tree = proto_item_add_subtree(ti, ett_gift_cmd); tokenlen = get_token_len(line, line + linelen, &next_token); diff --git a/epan/dissectors/packet-gsm_sms.c b/epan/dissectors/packet-gsm_sms.c index 7cf2d4ca4e..82da3f05f7 100644 --- a/epan/dissectors/packet-gsm_sms.c +++ b/epan/dissectors/packet-gsm_sms.c @@ -2640,8 +2640,7 @@ dis_field_ud(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 offset } else if (eight_bit) { - /*proto_tree_add_text(subtree, tvb , offset , length, "%s", - tvb_format_text(tvb, offset, length)); */ + /* proto_tree_add_format_text(subtree, tvb, offset, length); */ if (! dissector_try_uint(gsm_sms_dissector_tbl, udh_fields.port_src, sm_tvb, pinfo, subtree)) { if (! dissector_try_uint(gsm_sms_dissector_tbl, udh_fields.port_dst,sm_tvb, pinfo, subtree)) diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c index 76afa2d75b..f7358a6860 100644 --- a/epan/dissectors/packet-http.c +++ b/epan/dissectors/packet-http.c @@ -988,9 +988,7 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo, * whatever follows it isn't part of this * request or reply. */ - proto_tree_add_text(http_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(http_tree, tvb, offset, next_offset - offset); offset = next_offset; break; } diff --git a/epan/dissectors/packet-icap.c b/epan/dissectors/packet-icap.c index e7209f4f07..56d1324048 100644 --- a/epan/dissectors/packet-icap.c +++ b/epan/dissectors/packet-icap.c @@ -210,13 +210,7 @@ dissect_icap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (!is_icap) break; is_icap_header: - if (tree) { - proto_tree_add_text(icap_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, - next_offset - offset) - ); - } + proto_tree_add_format_text(icap_tree, tvb, offset, next_offset - offset); offset = next_offset; } diff --git a/epan/dissectors/packet-json.c b/epan/dissectors/packet-json.c index 1eba2fe7cb..dc64e7c86b 100644 --- a/epan/dissectors/packet-json.c +++ b/epan/dissectors/packet-json.c @@ -439,7 +439,7 @@ static void after_value(void *tvbparse_data, const void *wanted_data _U_, tvbpar break; default: - proto_tree_add_text(tree, tok->tvb, tok->offset, tok->len, "%s", tvb_format_text(tok->tvb, tok->offset, tok->len)); + proto_tree_add_format_text(tree, tok->tvb, tok->offset, tok->len); break; } } diff --git a/epan/dissectors/packet-l1-events.c b/epan/dissectors/packet-l1-events.c index d729d848c7..bcc6a72297 100644 --- a/epan/dissectors/packet-l1-events.c +++ b/epan/dissectors/packet-l1-events.c @@ -109,12 +109,10 @@ dissect_l1_events(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat break; /* We use next_offset - offset instead of len in the - * call to tvb_format_text() so it will include the + * call to proto_tree_add_format_text() so it will include the * line terminator(s) (\r and/or \n) in the display. */ - proto_tree_add_text(subtree, tvb, offset, next_offset - offset, - "%s", tvb_format_text(tvb, offset, - next_offset - offset)); + proto_tree_add_format_text(subtree, tvb, offset, next_offset - offset); offset = next_offset; } } diff --git a/epan/dissectors/packet-megaco.c b/epan/dissectors/packet-megaco.c index 4e2ecc37db..1036f3a673 100644 --- a/epan/dissectors/packet-megaco.c +++ b/epan/dissectors/packet-megaco.c @@ -481,8 +481,7 @@ dissect_megaco_text(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* Add the first line to the tree */ tokenlen = tvb_next_offset - line_start_offset - 1; - ti = proto_tree_add_text(megaco_tree, tvb, line_start_offset, tokenlen, - "%s",tvb_format_text(tvb,line_start_offset,tokenlen)); + ti = proto_tree_add_format_text(megaco_tree, tvb, line_start_offset, tokenlen); message_tree = proto_item_add_subtree(ti, ett_megaco_message); if (tree){ if(global_megaco_dissect_tree){ @@ -547,8 +546,7 @@ dissect_megaco_text(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) tvb_current_offset = megaco_tvb_find_token(tvb, tvb_offset, tvb_len); /*tvb_find_guint8(tvb, tvb_offset+1, tvb_len, '}');*/ - ti = proto_tree_add_text(megaco_tree, tvb, tvb_previous_offset, tvb_current_offset-tvb_previous_offset, - "%s",tvb_format_text(tvb, tvb_previous_offset, tvb_current_offset-tvb_previous_offset)); + ti = proto_tree_add_format_text(megaco_tree, tvb, tvb_previous_offset, tvb_current_offset-tvb_previous_offset); message_body_tree = proto_item_add_subtree(ti, ett_megaco_message_body); if (tree) { @@ -721,8 +719,7 @@ nextcontext: tvb_next_offset = tvb_find_guint8(tvb, tvb_previous_offset, tvb_transaction_end_offset, '{'); - ti = proto_tree_add_text(megaco_tree, tvb, tvb_previous_offset, tvb_next_offset-tvb_previous_offset+1, - "%s", tvb_format_text(tvb, tvb_previous_offset, tvb_next_offset-tvb_previous_offset+1)); + ti = proto_tree_add_format_text(megaco_tree, tvb, tvb_previous_offset, tvb_next_offset-tvb_previous_offset+1); megaco_context_tree = proto_item_add_subtree(ti, ett_megaco_context); tvb_previous_offset = tvb_find_guint8(tvb, tvb_current_offset, @@ -878,8 +875,7 @@ nextcontext: goto nextcontext; } - sub_ti = proto_tree_add_text(megaco_tree, tvb, tvb_command_start_offset, len+1, - "%s", tvb_format_text(tvb, tvb_command_start_offset, len+1)); + sub_ti = proto_tree_add_format_text(megaco_tree, tvb, tvb_command_start_offset, len+1); megaco_tree_command_line = proto_item_add_subtree(sub_ti, ett_megaco_command_line); /* creation of the megaco_tree_command_line additionally Command and Transaction ID will be printed in this line */ /* Changed to use the lines above. this code is saved if there is complaints @@ -1504,8 +1500,7 @@ dissect_megaco_descriptors(tvbuff_t *tvb, proto_tree *megaco_tree_command_line, /*TODO: Move this to the top when all branches fixed !!!*/ temp_offset = tvb_find_guint8(tvb, tvb_previous_offset,tvb_descriptors_end_offset, '{'); tokenlen = temp_offset - tvb_previous_offset+1; - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen); tvb_previous_offset = megaco_tvb_skip_wsp(tvb, temp_offset +1); dissect_megaco_mediadescriptor(tvb, megaco_tree_command_line, pinfo, tvb_RBRKT, tvb_previous_offset); @@ -1680,8 +1675,8 @@ dissect_megaco_mediadescriptor(tvbuff_t *tvb, proto_tree *megaco_tree_command_li tvb_RBRKT = tvb_next_offset; tokenlen = tvb_LBRKT - tvb_current_offset +1; - megaco_mediadescriptor_ti = proto_tree_add_text(megaco_tree_command_line,tvb,tvb_current_offset, - tokenlen,"%s",tvb_format_text(tvb, tvb_current_offset,tokenlen)); + megaco_mediadescriptor_ti = proto_tree_add_format_text(megaco_tree_command_line,tvb,tvb_current_offset, + tokenlen); switch ( mediaParm ){ case MEGACO_LOCAL_TOKEN: @@ -1728,13 +1723,11 @@ dissect_megaco_mediadescriptor(tvbuff_t *tvb, proto_tree *megaco_tree_command_li if (tvb_next_offset > tvb_last_RBRKT) tvb_next_offset = tvb_last_RBRKT; if ( tvb_next_offset != -1 ){ tokenlen = tvb_next_offset - tvb_RBRKT+1; - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_RBRKT, tokenlen, - "%s", tvb_format_text(tvb, tvb_RBRKT, tokenlen)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_RBRKT, tokenlen); tvb_previous_offset = tvb_next_offset+1; }else{ /* Add the trailing '}'*/ - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_RBRKT, 1, - "%s", tvb_format_text(tvb, tvb_RBRKT, 1)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_RBRKT, 1); tvb_previous_offset = tvb_last_RBRKT; } @@ -1922,8 +1915,7 @@ dissect_megaco_eventsdescriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *m tokenlen = (tvb_RBRKT+1) - tvb_previous_offset; - megaco_eventsdescriptor_ti = proto_tree_add_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + megaco_eventsdescriptor_ti = proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen); /* megaco_eventsdescriptor_ti = proto_tree_add_item(megaco_tree_command_line,hf_megaco_events_descriptor,tvb,tvb_previous_offset,tokenlen, ENC_UTF_8|ENC_NA); @@ -2088,8 +2080,7 @@ dissect_megaco_signaldescriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *m tvb_LBRKT = tvb_find_guint8(tvb, tvb_previous_offset, tvb_signals_end_offset, '{'); tokenlen = (tvb_LBRKT+1) - tvb_signals_start_offset; - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_signals_start_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_signals_start_offset, tokenlen)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_signals_start_offset, tokenlen); /* megaco_signalsdescriptor_ti = proto_tree_add_item(megaco_tree_command_line,hf_megaco_signal_descriptor,tvb,tvb_previous_offset,tokenlen, ENC_UTF_8|ENC_NA); @@ -2163,8 +2154,7 @@ dissect_megaco_signaldescriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *m tokenlen = pkg_tokenlen = tvb_RBRKT+1 - tvb_previous_offset; } - megaco_requestedsignal_ti = proto_tree_add_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + megaco_requestedsignal_ti = proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen); megaco_requestedsignal_tree = proto_item_add_subtree(megaco_requestedsignal_ti, ett_megaco_requestedsignal); proto_tree_add_item(megaco_requestedsignal_tree,hf_megaco_pkgdname,tvb,tvb_previous_offset,pkg_tokenlen, ENC_UTF_8|ENC_NA); @@ -2185,8 +2175,7 @@ dissect_megaco_signaldescriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *m "%s", msg); } /* Print the trailing '}' */ - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_RBRKT, 1, - "%s", tvb_format_text(tvb, tvb_RBRKT, 1)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_RBRKT, 1); } tvb_current_offset = tvb_find_guint8(tvb, tvb_RBRKT, @@ -2201,14 +2190,12 @@ dissect_megaco_signaldescriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *m tvb_LBRKT = tvb_previous_offset; tvb_RBRKT = tvb_previous_offset; /* Print the trailing '}' */ - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_signals_end_offset, 1, - "%s", tvb_format_text(tvb, tvb_signals_end_offset, 1)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_signals_end_offset, 1); } while ( tvb_current_offset < tvb_signals_end_offset ); }else{ /* signals{}*/ - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_signals_end_offset, 1, - "%s", tvb_format_text(tvb, tvb_signals_end_offset, 1)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_signals_end_offset, 1); } @@ -2364,9 +2351,7 @@ dissect_megaco_servicechangedescriptor(tvbuff_t *tvb, proto_tree *megaco_tree, return; */ tokenlen = (tvb_LBRKT + 1) - tvb_previous_offset; - proto_tree_add_text(megaco_tree, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); - + proto_tree_add_format_text(megaco_tree, tvb, tvb_previous_offset, tokenlen); /* Start dissecting serviceChangeParm */ tvb_previous_offset = tvb_LBRKT + 1; @@ -2395,8 +2380,7 @@ dissect_megaco_servicechangedescriptor(tvbuff_t *tvb, proto_tree *megaco_tree, /* ReasonToken EQUAL VALUE * VALUE = quotedString / 1*(SafeChar) */ - item = proto_tree_add_text(megaco_tree, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + item = proto_tree_add_format_text(megaco_tree, tvb, tvb_previous_offset, tokenlen); /* As the reason code ( if a digit ) can be in quoted string or 'just' digit * look for a nine and hope for the best. @@ -2422,8 +2406,7 @@ dissect_megaco_servicechangedescriptor(tvbuff_t *tvb, proto_tree *megaco_tree, * extension = extensionParameter parmValue * extensionParameter = "X" ("-" / "+") 1*6(ALPHA / DIGIT) */ - proto_tree_add_text(megaco_tree, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + proto_tree_add_format_text(megaco_tree, tvb, tvb_previous_offset, tokenlen); break; } @@ -2442,7 +2425,7 @@ dissect_megaco_servicechangedescriptor(tvbuff_t *tvb, proto_tree *megaco_tree, tvb_format_text(tvb, tvb_previous_offset, tokenlen)); */ - proto_tree_add_text(megaco_tree, tvb, tvb_RBRKT, 1,"%s", tvb_format_text(tvb, tvb_RBRKT, 1)); + proto_tree_add_format_text(megaco_tree, tvb, tvb_RBRKT, 1); } static void @@ -2495,8 +2478,7 @@ dissect_megaco_observedeventsdescriptor(tvbuff_t *tvb, packet_info *pinfo, proto megaco_observedeventsdescriptor_tree = proto_item_add_subtree(megaco_observedeventsdescriptor_ti, ett_megaco_observedeventsdescriptor); */ - megaco_observedeventsdescriptor_ti = proto_tree_add_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + megaco_observedeventsdescriptor_ti = proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen); megaco_observedeventsdescriptor_tree = proto_item_add_subtree(megaco_observedeventsdescriptor_ti, ett_megaco_observedeventsdescriptor); tvb_current_offset = tvb_find_guint8(tvb, tvb_previous_offset, tvb_RBRKT, '='); @@ -2576,8 +2558,7 @@ dissect_megaco_observedeventsdescriptor(tvbuff_t *tvb, packet_info *pinfo, proto tokenlen = pkg_tokenlen = tvb_RBRKT+1 - tvb_previous_offset; } - megaco_observedevent_ti = proto_tree_add_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_previous_offset, tokenlen)); + megaco_observedevent_ti = proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_previous_offset, tokenlen); megaco_observedevent_tree = proto_item_add_subtree(megaco_observedevent_ti, ett_megaco_observedevent); @@ -2633,8 +2614,7 @@ dissect_megaco_observedeventsdescriptor(tvbuff_t *tvb, packet_info *pinfo, proto tvb_LBRKT = tvb_previous_offset; tvb_RBRKT = tvb_previous_offset; /* Print the trailing '}' */ - proto_tree_add_text(megaco_tree_command_line, tvb, tvb_observedevents_end_offset, 1, - "%s", tvb_format_text(tvb, tvb_observedevents_end_offset, 1)); + proto_tree_add_format_text(megaco_tree_command_line, tvb, tvb_observedevents_end_offset, 1); } while ( tvb_current_offset < tvb_observedevents_end_offset ); } @@ -2728,10 +2708,7 @@ dissect_megaco_Packagesdescriptor(tvbuff_t *tvb, proto_tree *megaco_tree_command tokenlen = tvb_RBRKT+1 - tvb_previous_offset; - proto_tree_add_text(megaco_packagesdescriptor_tree, tvb, tvb_previous_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_previous_offset, - tokenlen)); - + proto_tree_add_format_text(megaco_packagesdescriptor_tree, tvb, tvb_previous_offset, tokenlen); tvb_current_offset = tvb_find_guint8(tvb, tvb_RBRKT, tvb_packages_end_offset, ','); @@ -2893,8 +2870,7 @@ dissect_megaco_TerminationStatedescriptor(tvbuff_t *tvb, proto_tree *megaco_medi megaco_TerminationState_ti = proto_tree_add_item(megaco_mediadescriptor_tree,hf_megaco_TerminationState_descriptor,tvb,tvb_current_offset,tokenlen, ENC_UTF_8|ENC_NA); megaco_TerminationState_tree = proto_item_add_subtree(megaco_TerminationState_ti, ett_megaco_TerminationState); */ - megaco_TerminationState_ti = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_current_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_current_offset, tokenlen)); + megaco_TerminationState_ti = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_current_offset, tokenlen); megaco_TerminationState_tree = proto_item_add_subtree(megaco_TerminationState_ti, ett_megaco_TerminationState); while ( tvb_offset < tvb_next_offset && tvb_offset != -1 ){ @@ -2960,8 +2936,7 @@ dissect_megaco_TerminationStatedescriptor(tvbuff_t *tvb, proto_tree *megaco_medi tokenlen = tvb_offset - tvb_current_offset; - proto_tree_add_text(megaco_TerminationState_tree, tvb, tvb_current_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_current_offset,tokenlen)); + proto_tree_add_format_text(megaco_TerminationState_tree, tvb, tvb_current_offset, tokenlen); break; } @@ -2970,9 +2945,7 @@ dissect_megaco_TerminationStatedescriptor(tvbuff_t *tvb, proto_tree *megaco_medi tvb_offset = tvb_find_guint8(tvb, tvb_current_offset , tvb_next_offset, '='); } - proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_next_offset, 1, - "%s", tvb_format_text(tvb, tvb_next_offset, 1)); - + proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_next_offset, 1); } static void @@ -2989,8 +2962,7 @@ dissect_megaco_Localdescriptor(tvbuff_t *tvb, proto_tree *megaco_mediadescriptor /* megaco_localdescriptor_ti = proto_tree_add_item(megaco_mediadescriptor_tree,hf_megaco_Local_descriptor,tvb,tvb_current_offset,tokenlen, ENC_UTF_8|ENC_NA); */ - megaco_localdescriptor_ti = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_current_offset, tokenlen, - "%s", tvb_format_text(tvb, tvb_current_offset, tokenlen)); + megaco_localdescriptor_ti = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_current_offset, tokenlen); megaco_localdescriptor_tree = proto_item_add_subtree(megaco_localdescriptor_ti, ett_megaco_Localdescriptor); tokenlen = tvb_next_offset - tvb_current_offset; @@ -3110,9 +3082,7 @@ dissect_megaco_LocalControldescriptor(tvbuff_t *tvb, proto_tree *megaco_mediades } token_name_len = tvb_offset - tvb_current_offset; /* Debug Code - proto_tree_add_text(megaco_LocalControl_tree, tvb, tvb_current_offset, token_name_len, - "%s", tvb_format_text(tvb,tvb_current_offset,token_name_len)); - + proto_tree_add_format_text(megaco_LocalControl_tree, tvb, tvb_current_offset, token_name_len); */ token_index = find_megaco_localParam_names(tvb, tvb_current_offset, token_name_len); /* Find start of parameter value */ @@ -3131,9 +3101,7 @@ dissect_megaco_LocalControldescriptor(tvbuff_t *tvb, proto_tree *megaco_mediades tokenlen = megaco_tvb_skip_wsp_return(tvb,tvb_offset-1) - tvb_current_offset; /* Debug Code - proto_tree_add_text(megaco_LocalControl_tree, tvb, tvb_current_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_current_offset,tokenlen)); - + proto_tree_add_format_text(megaco_LocalControl_tree, tvb, tvb_current_offset, tokenlen); */ switch ( token_index ){ @@ -3222,49 +3190,37 @@ dissect_megaco_LocalControldescriptor(tvbuff_t *tvb, proto_tree *megaco_mediades case MEGACO_GM_SAF: tokenlen = tvb_offset - tvb_help_offset; - item = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + item = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); proto_item_append_text(item," [Remote Source Address Filtering]"); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; case MEGACO_GM_SAM: tokenlen = tvb_offset - tvb_help_offset; - item = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + item = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); proto_item_append_text(item," [Remote Source Address Mask]"); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; case MEGACO_GM_SPF: tokenlen = tvb_offset - tvb_help_offset; - item = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + item = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); proto_item_append_text(item," [Remote Source Port Filtering]"); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; case MEGACO_GM_SPR: tokenlen = tvb_offset - tvb_help_offset; - item = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + item = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); proto_item_append_text(item," [Remote Source Port Range]"); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; case MEGACO_GM_ESAS: tokenlen = tvb_offset - tvb_help_offset; - item = proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + item = proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); proto_item_append_text(item," [Explicit Source Address Setting]"); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; default: tokenlen = tvb_offset - tvb_help_offset; - proto_tree_add_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen, - "%s", tvb_format_text(tvb,tvb_help_offset, - tokenlen)); + proto_tree_add_format_text(megaco_mediadescriptor_tree, tvb, tvb_help_offset, tokenlen); tvb_current_offset = megaco_tvb_skip_wsp(tvb, tvb_offset +1); break; diff --git a/epan/dissectors/packet-mgcp.c b/epan/dissectors/packet-mgcp.c index 7f3655d022..82d1e072bc 100644 --- a/epan/dissectors/packet-mgcp.c +++ b/epan/dissectors/packet-mgcp.c @@ -566,8 +566,7 @@ static void mgcp_raw_text_add(tvbuff_t *tvb, proto_tree *tree) { tvb_find_line_end(tvb,tvb_linebegin,-1,&tvb_lineend,FALSE); linelen = tvb_lineend - tvb_linebegin; - proto_tree_add_text(tree, tvb, tvb_linebegin, linelen, "%s", - tvb_format_text(tvb, tvb_linebegin, linelen)); + proto_tree_add_format_text(tree, tvb, tvb_linebegin, linelen); tvb_linebegin = tvb_lineend; } while (tvb_lineend < tvb_len); } diff --git a/epan/dissectors/packet-msn-messenger.c b/epan/dissectors/packet-msn-messenger.c index a20aba73e3..b9cd203990 100644 --- a/epan/dissectors/packet-msn-messenger.c +++ b/epan/dissectors/packet-msn-messenger.c @@ -110,9 +110,7 @@ dissect_msnms(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * Put this line. */ - proto_tree_add_text(msnms_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(msnms_tree, tvb, offset, next_offset - offset); offset = next_offset; } } diff --git a/epan/dissectors/packet-msrp.c b/epan/dissectors/packet-msrp.c index 468cb9309d..df48c4e787 100644 --- a/epan/dissectors/packet-msrp.c +++ b/epan/dissectors/packet-msrp.c @@ -306,10 +306,7 @@ tvb_raw_text_add(tvbuff_t *tvb, proto_tree *tree) the buffer if no line ending is found */ tvb_find_line_end(tvb, offset, -1, &next_offset, FALSE); linelen = next_offset - offset; - if(tree) { - proto_tree_add_text(tree, tvb, offset, linelen, - "%s", tvb_format_text(tvb, offset, linelen)); - } + proto_tree_add_format_text(tree, tvb, offset, linelen); offset = next_offset; } } @@ -708,8 +705,7 @@ dissect_msrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ while (tvb_offset_exists(next_tvb, offset)) { tvb_find_line_end(next_tvb, offset, -1, &next_offset, FALSE); linelen = next_offset - offset; - proto_tree_add_text(msrp_data_tree, next_tvb, offset, linelen, - "%s", tvb_format_text(next_tvb, offset, linelen)); + proto_tree_add_format_text(msrp_data_tree, next_tvb, offset, linelen); offset = next_offset; }/* end while */ } diff --git a/epan/dissectors/packet-nntp.c b/epan/dissectors/packet-nntp.c index e0bb54e11a..fe8abe0c5c 100644 --- a/epan/dissectors/packet-nntp.c +++ b/epan/dissectors/packet-nntp.c @@ -99,9 +99,7 @@ dissect_nntp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) /* * Put this line. */ - proto_tree_add_text(nntp_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(nntp_tree, tvb, offset, next_offset - offset); offset = next_offset; } } diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c index 5d5445c1a2..06f3c27c8c 100644 --- a/epan/dissectors/packet-rtsp.c +++ b/epan/dissectors/packet-rtsp.c @@ -982,9 +982,7 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo, * whatever follows it isn't part of this * request or reply. */ - proto_tree_add_text(rtsp_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(rtsp_tree, tvb, offset, next_offset - offset); offset = next_offset; break; } @@ -1121,18 +1119,14 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo, else { /* Default case for headers. Show line as text */ - proto_tree_add_text(rtsp_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(rtsp_tree, tvb, offset, next_offset - offset); } } else if (rtsp_type == RTSP_NOT_FIRST_LINE) { /* Catch-all for all other lines... Show line as text. TODO: should these be shown as errors? */ - proto_tree_add_text(rtsp_tree, tvb, offset, - next_offset - offset, "%s", - tvb_format_text(tvb, offset, next_offset - offset)); + proto_tree_add_format_text(rtsp_tree, tvb, offset, next_offset - offset); } offset = next_offset; diff --git a/epan/dissectors/packet-sigcomp.c b/epan/dissectors/packet-sigcomp.c index 831d7e4cf1..5753eeb119 100644 --- a/epan/dissectors/packet-sigcomp.c +++ b/epan/dissectors/packet-sigcomp.c @@ -2237,10 +2237,7 @@ tvb_raw_text_add(tvbuff_t *tvb, proto_tree *tree) while (tvb_offset_exists(tvb, offset)) { tvb_find_line_end(tvb, offset, -1, &next_offset, FALSE); linelen = next_offset - offset; - if(raw_tree) { - proto_tree_add_text(raw_tree, tvb, offset, linelen, - "%s", tvb_format_text(tvb, offset, linelen)); - } + proto_tree_add_format_text(raw_tree, tvb, offset, linelen); offset = next_offset; } } diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c index 4aae0c6392..8fa3451eff 100644 --- a/epan/dissectors/packet-sip.c +++ b/epan/dissectors/packet-sip.c @@ -1237,9 +1237,7 @@ dissect_sip_history_info(tvbuff_t *tvb, proto_tree* tree, packet_info *pinfo _U_ comma_offset = line_end_offset; } first_time = FALSE; - proto_tree_add_text(tree, tvb, current_offset, comma_offset-current_offset, - "%s", tvb_format_text(tvb, current_offset, - comma_offset-current_offset)); + proto_tree_add_format_text(tree, tvb, current_offset, comma_offset-current_offset); current_offset = comma_offset+1; } @@ -1292,9 +1290,7 @@ dissect_sip_p_charging_func_addresses(tvbuff_t *tvb, proto_tree* tree, packet_in semi_offset = line_end_offset; } first_time = FALSE; - proto_tree_add_text(tree, tvb, current_offset, semi_offset-current_offset, - "%s", tvb_format_text(tvb, current_offset, - semi_offset-current_offset)); + proto_tree_add_format_text(tree, tvb, current_offset, semi_offset-current_offset); current_offset = semi_offset+1; @@ -1766,9 +1762,7 @@ found: /* If not matched, just add as text... */ if (i == array_length(auth_parameters_hf_array)) { - proto_tree_add_text(tree, tvb, start_offset, current_offset-start_offset, - "%s", tvb_format_text(tvb, start_offset, - current_offset-start_offset)); + proto_tree_add_format_text(tree, tvb, start_offset, current_offset-start_offset); } return current_offset; @@ -1921,7 +1915,7 @@ dissect_sip_sec_mechanism(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, g } else{ - proto_tree_add_text(tree, tvb, current_offset, length,"%s",tvb_format_text(tvb, current_offset, length)); + proto_tree_add_format_text(tree, tvb, current_offset, length); } current_offset = semi_colon_offset+1; } @@ -2214,9 +2208,7 @@ static void dissect_sip_via_header(tvbuff_t *tvb, proto_tree *tree, gint start_o /* If not matched, just add as text... */ if (i == array_length(via_parameters_hf_array)) { - proto_tree_add_text(tree, tvb, semicolon_offset+1, current_offset-semicolon_offset-1, - "%s", tvb_format_text(tvb, semicolon_offset+1, - current_offset-semicolon_offset-1)); + proto_tree_add_format_text(tree, tvb, semicolon_offset+1, current_offset-semicolon_offset-1); } /* skip Spaces and Tabs */ @@ -3610,11 +3602,8 @@ dissect_sip_common(tvbuff_t *tvb, int offset, int remaining_length, packet_info while (tvb_offset_exists(next_tvb, tmp_offset)) { tvb_find_line_end(next_tvb, tmp_offset, -1, &next_offset, FALSE); linelen = next_offset - tmp_offset; - if(message_body_tree) { - proto_tree_add_text(message_body_tree, next_tvb, - tmp_offset, linelen, "%s", - tvb_format_text(next_tvb, tmp_offset, linelen)); - } + proto_tree_add_format_text(message_body_tree, next_tvb, + tmp_offset, linelen); tmp_offset = next_offset; }/* end while */ } diff --git a/epan/dissectors/packet-text-media.c b/epan/dissectors/packet-text-media.c index c7b280a1fc..824d5d1119 100644 --- a/epan/dissectors/packet-text-media.c +++ b/epan/dissectors/packet-text-media.c @@ -123,12 +123,10 @@ dissect_text_lines(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da break; /* We use next_offset - offset instead of len in the - * call to tvb_format_text() so it will include the + * call to proto_tree_add_format_text() so it will include the * line terminator(s) (\r and/or \n) in the display. */ - proto_tree_add_text(subtree, tvb, offset, next_offset - offset, - "%s", tvb_format_text(tvb, offset, - next_offset - offset)); + proto_tree_add_format_text(subtree, tvb, offset, next_offset - offset); offset = next_offset; } } diff --git a/epan/dissectors/packet-xml.c b/epan/dissectors/packet-xml.c index 8c96e9c0b2..5e4bfb9281 100644 --- a/epan/dissectors/packet-xml.c +++ b/epan/dissectors/packet-xml.c @@ -393,9 +393,7 @@ static void after_xmlpi(void *tvbparse_data, const void *wanted_data _U_, tvbpar GPtrArray *stack = (GPtrArray *)tvbparse_data; xml_frame_t *current_frame = (xml_frame_t *)g_ptr_array_index(stack, stack->len - 1); - proto_tree_add_text(current_frame->tree, - tok->tvb, tok->offset, tok->len, "%s", - tvb_format_text(tok->tvb, tok->offset, tok->len)); + proto_tree_add_format_text(current_frame->tree, tok->tvb, tok->offset, tok->len); if (stack->len > 1) { g_ptr_array_remove_index_fast(stack, stack->len - 1); @@ -507,8 +505,7 @@ static void after_untag(void *tvbparse_data, const void *wanted_data _U_, tvbpar proto_item_set_len(current_frame->item, (tok->offset - current_frame->start_offset) + tok->len); - proto_tree_add_text(current_frame->tree, tok->tvb, tok->offset, tok->len, "%s", - tvb_format_text(tok->tvb, tok->offset, tok->len)); + proto_tree_add_format_text(current_frame->tree, tok->tvb, tok->offset, tok->len); if (stack->len > 1) { g_ptr_array_remove_index_fast(stack, stack->len - 1); diff --git a/epan/proto.c b/epan/proto.c index f2544e4016..f3f803ffaa 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -1163,6 +1163,23 @@ proto_tree_add_debug_text(proto_tree *tree, const char *format, ...) return pi; } +proto_item * +proto_tree_add_format_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length) +{ + proto_item *pi; + header_field_info *hfinfo; + + TRY_TO_FAKE_THIS_ITEM(tree, hf_text_only, hfinfo); + + pi = proto_tree_add_text_node(tree, tvb, start, length); + + TRY_TO_FAKE_THIS_REPR(pi); + + proto_item_set_text(pi, "%s", tvb_format_text(tvb, start, length)); + + return pi; +} + void proto_report_dissector_bug(const char *message) { if (getenv("WIRESHARK_ABORT_ON_DISSECTOR_BUG") != NULL) diff --git a/epan/proto.h b/epan/proto.h index f3f34995d3..70fbb1ac10 100644 --- a/epan/proto.h +++ b/epan/proto.h @@ -880,6 +880,10 @@ proto_tree_add_text_valist(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format, va_list ap); +/** Add a text-only node to a proto_tree with tvb_format_text() string. */ +proto_item * +proto_tree_add_format_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length); + /** Add a FT_NONE field to a proto_tree. @param tree the tree to append this item to @param hfindex field index |