aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-acap.c4
-rw-r--r--epan/dissectors/packet-ftp.c8
-rw-r--r--epan/dissectors/packet-gearman.c3
-rw-r--r--epan/dissectors/packet-gift.c3
-rw-r--r--epan/dissectors/packet-gsm_sms.c3
-rw-r--r--epan/dissectors/packet-http.c4
-rw-r--r--epan/dissectors/packet-icap.c8
-rw-r--r--epan/dissectors/packet-json.c2
-rw-r--r--epan/dissectors/packet-l1-events.c6
-rw-r--r--epan/dissectors/packet-megaco.c114
-rw-r--r--epan/dissectors/packet-mgcp.c3
-rw-r--r--epan/dissectors/packet-msn-messenger.c4
-rw-r--r--epan/dissectors/packet-msrp.c8
-rw-r--r--epan/dissectors/packet-nntp.c4
-rw-r--r--epan/dissectors/packet-rtsp.c12
-rw-r--r--epan/dissectors/packet-sigcomp.c5
-rw-r--r--epan/dissectors/packet-sip.c25
-rw-r--r--epan/dissectors/packet-text-media.c6
-rw-r--r--epan/dissectors/packet-xml.c7
-rw-r--r--epan/proto.c17
-rw-r--r--epan/proto.h4
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