summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-07-05 18:29:13 -0400
committerMichael Mann <mmann78@netscape.net>2014-07-05 23:08:19 +0000
commit0335ae339d4004ea8ee9b087bac7e1803685accb (patch)
tree5404c6b0c626906b2192c53a4af6c511a711d287
parent318205e6999314d4fb0e0272ca4db2d347501f98 (diff)
downloadwireshark-0335ae339d4004ea8ee9b087bac7e1803685accb.tar.gz
convert to proto_tree_add_subtree[_format]
Change-Id: I66f0bffb987568c3d4c14a06bdc90465c877b27f Reviewed-on: https://code.wireshark.org/review/2867 Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--epan/dissectors/packet-q2931.c7
-rw-r--r--epan/dissectors/packet-q931.c14
-rw-r--r--epan/dissectors/packet-q933.c5
-rw-r--r--epan/dissectors/packet-quake.c6
-rw-r--r--epan/dissectors/packet-quake2.c39
-rw-r--r--epan/dissectors/packet-quake3.c54
-rw-r--r--epan/dissectors/packet-quakeworld.c38
-rw-r--r--epan/dissectors/packet-x25.c12
-rw-r--r--epan/dissectors/packet-xdmcp.c23
-rw-r--r--epan/dissectors/packet-xmpp-conference.c21
-rw-r--r--epan/dissectors/packet-xmpp-core.c4
-rw-r--r--epan/dissectors/packet-xmpp-gtalk.c56
-rw-r--r--epan/dissectors/packet-xmpp-jingle.c8
-rw-r--r--epan/dissectors/packet-xmpp-other.c12
-rw-r--r--epan/dissectors/packet-xmpp-utils.c5
-rw-r--r--epan/dissectors/packet-xtp.c28
-rw-r--r--epan/dissectors/packet-xyplex.c8
17 files changed, 105 insertions, 235 deletions
diff --git a/epan/dissectors/packet-q2931.c b/epan/dissectors/packet-q2931.c
index d888a652d8..c47fbb47a2 100644
--- a/epan/dissectors/packet-q2931.c
+++ b/epan/dissectors/packet-q2931.c
@@ -1354,7 +1354,6 @@ dissect_q2931_number_ie(tvbuff_t *tvb, int offset, int len,
{
guint8 octet;
guint8 numbering_plan;
- proto_item *ti;
proto_tree *nsap_tree;
if (len == 0)
@@ -1391,8 +1390,7 @@ dissect_q2931_number_ie(tvbuff_t *tvb, int offset, int len,
tvb_bytes_to_ep_str(tvb, offset, len));
return;
}
- ti = proto_tree_add_text(tree, tvb, offset, len, "Number");
- nsap_tree = proto_item_add_subtree(ti, ett_q2931_nsap);
+ nsap_tree = proto_tree_add_subtree(tree, tvb, offset, len, ett_q2931_nsap, NULL, "Number");
dissect_atm_nsap(tvb, offset, len, nsap_tree);
break;
@@ -1858,10 +1856,9 @@ dissect_q2931_ie(tvbuff_t *tvb, int offset, int len, proto_tree *tree,
proto_tree *ie_tree;
proto_tree *ie_ext_tree;
- ti = proto_tree_add_text(tree, tvb, offset, 1+1+2+len, "%s",
+ ie_tree = proto_tree_add_subtree(tree, tvb, offset, 1+1+2+len, ett_q2931_ie, NULL,
val_to_str_ext(info_element, &q2931_info_element_vals_ext,
"Unknown information element (0x%02X)"));
- ie_tree = proto_item_add_subtree(ti, ett_q2931_ie);
proto_tree_add_uint(ie_tree, hf_q2931_information_element, tvb, offset, 1, info_element);
ti = proto_tree_add_uint(ie_tree, hf_q2931_information_element_extension, tvb, offset + 1, 1, info_element_ext);
ie_ext_tree = proto_item_add_subtree(ti, ett_q2931_ie_ext);
diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c
index 493dbde58e..3df6db2f29 100644
--- a/epan/dissectors/packet-q931.c
+++ b/epan/dissectors/packet-q931.c
@@ -2471,7 +2471,7 @@ dissect_q931_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset = 0;
proto_tree *q931_tree = NULL;
proto_tree *ie_tree = NULL;
- proto_item *ti, *ti_ie;
+ proto_item *ti;
guint8 prot_discr;
guint8 call_ref_len;
guint8 call_ref[15];
@@ -2555,9 +2555,8 @@ dissect_q931_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
return;
}
/* Segmented message IE */
- ti_ie = proto_tree_add_text(q931_tree, tvb, offset, 1+1+info_element_len, "%s",
+ ie_tree = proto_tree_add_subtree(q931_tree, tvb, offset, 1+1+info_element_len, ett_q931_ie, NULL,
val_to_str(info_element, q931_info_element_vals[0], "Unknown information element (0x%02X)"));
- ie_tree = proto_item_add_subtree(ti_ie, ett_q931_ie);
proto_tree_add_text(ie_tree, tvb, offset, 1, "Information element: %s",
val_to_str(info_element, q931_info_element_vals[0], "Unknown (0x%02X)"));
proto_tree_add_text(ie_tree, tvb, offset + 1, 1, "Length: %u", info_element_len);
@@ -2729,13 +2728,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root_tree,
tvb_get_guint8(tvb, offset + 3) == Q931_PROTOCOL_DISCRIMINATOR_ASN1) {
info_element_len = tvb_get_ntohs(tvb, offset + 1);
if (q931_tree != NULL) {
- ti = proto_tree_add_text(q931_tree, tvb, offset,
- 1+2+info_element_len, "%s",
+ ie_tree = proto_tree_add_subtree(q931_tree, tvb, offset,
+ 1+2+info_element_len, ett_q931_ie, NULL,
val_to_str(info_element,
q931_info_element_vals[codeset],
"Unknown information element (0x%02X)"));
- ie_tree = proto_item_add_subtree(ti,
- ett_q931_ie);
proto_tree_add_text(ie_tree, tvb, offset, 1,
"Information element: %s",
val_to_str(info_element,
@@ -2804,9 +2801,8 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root_tree,
}
}
- ti = proto_tree_add_text(q931_tree, tvb, offset, 1+1+info_element_len, "%s",
+ ie_tree = proto_tree_add_subtree(q931_tree, tvb, offset, 1+1+info_element_len, ett_q931_ie, &ti,
val_to_str(info_element, q931_info_element_vals[codeset], "Unknown information element (0x%02X)"));
- ie_tree = proto_item_add_subtree(ti, ett_q931_ie);
proto_tree_add_text(ie_tree, tvb, offset, 1, "Information element: %s",
val_to_str(info_element, q931_info_element_vals[codeset], "Unknown (0x%02X)"));
proto_tree_add_text(ie_tree, tvb, offset + 1, 1, "Length: %u", info_element_len);
diff --git a/epan/dissectors/packet-q933.c b/epan/dissectors/packet-q933.c
index f5e449c574..5c06aa8cea 100644
--- a/epan/dissectors/packet-q933.c
+++ b/epan/dissectors/packet-q933.c
@@ -1994,11 +1994,10 @@ dissect_q933(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
info_element_len = tvb_get_guint8(tvb, offset + 1);
if (q933_tree != NULL) {
- ti = proto_tree_add_text(q933_tree, tvb, offset,
- 1+1+info_element_len, "%s",
+ ie_tree = proto_tree_add_subtree(q933_tree, tvb, offset,
+ 1+1+info_element_len, ett_q933_ie, NULL,
val_to_str(info_element, q933_info_element_vals[codeset],
"Unknown information element (0x%02X)"));
- ie_tree = proto_item_add_subtree(ti, ett_q933_ie);
proto_tree_add_text(ie_tree, tvb, offset, 1,
"Information element: %s",
val_to_str(info_element, q933_info_element_vals[codeset],
diff --git a/epan/dissectors/packet-quake.c b/epan/dissectors/packet-quake.c
index f704318b2b..545b48706b 100644
--- a/epan/dissectors/packet-quake.c
+++ b/epan/dissectors/packet-quake.c
@@ -369,12 +369,10 @@ dissect_quake_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
val_to_str(direction,names_control_direction,"%u"));
if (tree) {
- proto_item *control_item;
- control_item = proto_tree_add_text(tree, tvb,
- 0, -1, "Control %s: %s",
+ control_tree = proto_tree_add_subtree_format(tree, tvb,
+ 0, -1, ett_quake_control, NULL, "Control %s: %s",
val_to_str(direction, names_control_direction, "%u"),
val_to_str(command, names_control_command, "%u"));
- control_tree = proto_item_add_subtree(control_item, ett_quake_control);
proto_tree_add_uint(control_tree, hf_quake_control_command,
tvb, 0, 1, command);
}
diff --git a/epan/dissectors/packet-quake2.c b/epan/dissectors/packet-quake2.c
index 38b9212d23..9792796908 100644
--- a/epan/dissectors/packet-quake2.c
+++ b/epan/dissectors/packet-quake2.c
@@ -89,7 +89,6 @@ dissect_quake2_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
proto_tree *tree, int direction _U_)
{
proto_tree *cl_tree;
- proto_item *cl_item;
guint8 *text;
int len;
int offset;
@@ -97,9 +96,8 @@ dissect_quake2_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
guint32 marker;
marker = tvb_get_ntohl(tvb, 0);
- cl_item = proto_tree_add_text(tree, tvb,
- 0, -1, "Connectionless");
- cl_tree = proto_item_add_subtree(cl_item, ett_quake2_connectionless);
+ cl_tree = proto_tree_add_subtree(tree, tvb,
+ 0, -1, ett_quake2_connectionless, NULL, "Connectionless");
proto_tree_add_uint(cl_tree, hf_quake2_connectionless_marker,
tvb, 0, 4, marker);
@@ -224,17 +222,15 @@ dissect_quake2_client_commands_move(tvbuff_t *tvb, packet_info *pinfo _U_,
move[MOVES].bits[Q_OFFSET] = offset;
for (i=0; i < MOVES; i++) {
- proto_item *move_item, *movebits_item, *bit_item;
+ proto_item *movebits_item, *bit_item;
proto_item *sub_tree, *field_tree;
#define SHORT2ANGLE(x) ((float)x/65536.0*360.0)
- move_item = proto_tree_add_text(tree,
+ sub_tree = proto_tree_add_subtree_format(tree,
tvb,
move[i].bits[Q_OFFSET],
move[i+1].bits[Q_OFFSET]-move[i].bits[Q_OFFSET],
- "Move %u", i+1);
- sub_tree = proto_item_add_subtree(move_item,
- ett_quake2_game_clc_cmd_move_moves);
+ ett_quake2_game_clc_cmd_move_moves, NULL, "Move %u", i+1);
movebits_item =
proto_tree_add_uint(sub_tree, hf_quake2_game_client_command_move,
@@ -572,7 +568,6 @@ dissect_quake2_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, int direction)
{
proto_tree *game_tree;
- proto_item *game_item;
guint32 seq1;
guint32 seq2;
int rel1;
@@ -583,9 +578,8 @@ dissect_quake2_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
direction = (pinfo->destport == gbl_quake2ServerPort) ?
DIR_C2S : DIR_S2C;
- game_item = proto_tree_add_text(tree, tvb,
- 0, -1, "Game");
- game_tree = proto_item_add_subtree(game_item, ett_quake2_game);
+ game_tree = proto_tree_add_subtree(tree, tvb,
+ 0, -1, ett_quake2_game, NULL, "Game");
offset = 0;
@@ -636,25 +630,16 @@ dissect_quake2_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
if (rest_length) {
tvbuff_t *next_tvb =
tvb_new_subset_remaining(tvb, offset);
+ proto_tree *c_tree;
if (direction == DIR_C2S) {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Client Commands");
- c_tree = proto_item_add_subtree(c_item, ett_quake2_game_clc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quake2_game_clc, NULL, "Client Commands");
dissect_quake2_client_commands(next_tvb, pinfo, c_tree);
}
else {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Server Commands");
- c_tree = proto_item_add_subtree(c_item, ett_quake2_game_svc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quake2_game_svc, NULL, "Server Commands");
dissect_quake2_server_commands(next_tvb, pinfo, c_tree);
}
}
diff --git a/epan/dissectors/packet-quake3.c b/epan/dissectors/packet-quake3.c
index 90459ec3f5..7a715ff41a 100644
--- a/epan/dissectors/packet-quake3.c
+++ b/epan/dissectors/packet-quake3.c
@@ -141,7 +141,7 @@ static void
dissect_quake3_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
proto_tree *tree, int* direction)
{
- proto_tree *cl_tree = NULL;
+ proto_tree *cl_tree;
proto_item *text_item = NULL;
proto_tree *text_tree = NULL;
guint8 *text;
@@ -152,16 +152,13 @@ dissect_quake3_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
int command_len;
gboolean command_finished = FALSE;
+ cl_tree = proto_tree_add_subtree(tree, tvb,
+ 0, -1, ett_quake3_connectionless, NULL, "Connectionless");
+
marker = tvb_get_ntohl(tvb, 0);
- if (tree) {
- proto_item *cl_item = NULL;
- cl_item = proto_tree_add_text(tree, tvb,
- 0, -1, "Connectionless");
- cl_tree = proto_item_add_subtree(cl_item, ett_quake3_connectionless);
+ proto_tree_add_uint(cl_tree, hf_quake3_connectionless_marker,
+ tvb, 0, 4, marker);
- proto_tree_add_uint(cl_tree, hf_quake3_connectionless_marker,
- tvb, 0, 4, marker);
- }
/* all the rest of the packet is just text */
offset = 4;
@@ -282,16 +279,12 @@ dissect_quake3_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo _U_,
may run on totally unusual ports. */
if (text_tree) {
- proto_item *server_item;
proto_tree *server_tree;
- server_item = proto_tree_add_text(text_tree,
+ server_tree = proto_tree_add_subtree_format(text_tree,
tvb, base, 7,
- "Server: %s:%u",
+ ett_quake3_server, NULL, "Server: %s:%u",
get_hostname(ip_addr),
udp_port);
- server_tree = proto_item_add_subtree(
- server_item,
- ett_quake3_server);
proto_tree_add_ipv4(server_tree, hf_quake3_server_addr,
tvb, base + 1, 4, ip_addr);
proto_tree_add_uint(server_tree, hf_quake3_server_port,
@@ -366,7 +359,7 @@ static void
dissect_quake3_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, int *direction)
{
- proto_tree *game_tree = NULL;
+ proto_tree *game_tree;
guint32 seq1;
guint32 seq2;
int rel1;
@@ -377,11 +370,7 @@ dissect_quake3_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
*direction = (pinfo->destport == gbl_quake3_server_port) ?
DIR_C2S : DIR_S2C;
- if (tree) {
- proto_item *game_item;
- game_item = proto_tree_add_text(tree, tvb, 0, -1, "Game");
- game_tree = proto_item_add_subtree(game_item, ett_quake3_game);
- }
+ game_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_quake3_game, NULL, "Game");
offset = 0;
@@ -431,27 +420,18 @@ dissect_quake3_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
rest_length = tvb_reported_length(tvb) - offset;
if (rest_length) {
tvbuff_t *next_tvb = tvb_new_subset_remaining(tvb, offset);
+ proto_tree *c_tree;
if (*direction == DIR_C2S) {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Client Commands");
- c_tree = proto_item_add_subtree(
- c_item, ett_quake3_game_clc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quake3_game_clc, NULL, "Client Commands");
+
dissect_quake3_client_commands(next_tvb, pinfo, c_tree);
}
else {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Server Commands");
- c_tree = proto_item_add_subtree(
- c_item, ett_quake3_game_svc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quake3_game_svc, NULL, "Server Commands");
+
dissect_quake3_server_commands(next_tvb, pinfo, c_tree);
}
}
diff --git a/epan/dissectors/packet-quakeworld.c b/epan/dissectors/packet-quakeworld.c
index 774a56c436..1d6ea7baaa 100644
--- a/epan/dissectors/packet-quakeworld.c
+++ b/epan/dissectors/packet-quakeworld.c
@@ -347,7 +347,7 @@ static void
dissect_quakeworld_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, int direction)
{
- proto_tree *cl_tree = NULL;
+ proto_tree *cl_tree;
proto_tree *text_tree = NULL;
guint8 *text;
int len;
@@ -358,17 +358,13 @@ dissect_quakeworld_ConnectionlessPacket(tvbuff_t *tvb, packet_info *pinfo,
gboolean command_finished = FALSE;
marker = tvb_get_ntohl(tvb, 0);
- if (tree) {
- proto_item *cl_item;
- cl_item = proto_tree_add_text(tree, tvb, 0, -1, "Connectionless");
- cl_tree = proto_item_add_subtree(cl_item, ett_quakeworld_connectionless);
+ cl_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_quakeworld_connectionless, NULL, "Connectionless");
- proto_tree_add_uint(cl_tree, hf_quakeworld_connectionless_marker,
+ proto_tree_add_uint(cl_tree, hf_quakeworld_connectionless_marker,
tvb, 0, 4, marker);
- }
/* all the rest of the packet is just text */
- offset = 4;
+ offset = 4;
text = tvb_get_stringz_enc(wmem_packet_scope(), tvb, offset, &len, ENC_ASCII|ENC_NA);
/* actually, we should look for a eol char and stop already there */
@@ -589,11 +585,7 @@ dissect_quakeworld_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
direction = (pinfo->destport == gbl_quakeworldServerPort) ?
DIR_C2S : DIR_S2C;
- if (tree) {
- proto_item *game_item;
- game_item = proto_tree_add_text(tree, tvb, 0, -1, "Game");
- game_tree = proto_item_add_subtree(game_item, ett_quakeworld_game);
- }
+ game_tree = proto_tree_add_subtree(tree, tvb, 0, -1, ett_quakeworld_game, NULL, "Game");
offset = 0;
@@ -639,25 +631,17 @@ dissect_quakeworld_GamePacket(tvbuff_t *tvb, packet_info *pinfo,
rest_length = tvb_reported_length(tvb) - offset;
if (rest_length) {
tvbuff_t *next_tvb = tvb_new_subset_remaining(tvb, offset);
+ proto_tree *c_tree;
if (direction == DIR_C2S) {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Client Commands");
- c_tree = proto_item_add_subtree(c_item, ett_quakeworld_game_clc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quakeworld_game_clc, NULL, "Client Commands");
dissect_quakeworld_client_commands(next_tvb, pinfo, c_tree);
}
else {
- proto_tree *c_tree = NULL;
- if (tree) {
- proto_item *c_item;
- c_item = proto_tree_add_text(game_tree, next_tvb,
- 0, -1, "Server Commands");
- c_tree = proto_item_add_subtree(c_item, ett_quakeworld_game_svc);
- }
+ c_tree = proto_tree_add_subtree(game_tree, next_tvb,
+ 0, -1, ett_quakeworld_game_svc, NULL, "Server Commands");
+
dissect_quakeworld_server_commands(next_tvb, pinfo, c_tree);
}
}
diff --git a/epan/dissectors/packet-x25.c b/epan/dissectors/packet-x25.c
index 8cbfd525f0..80157d9ebe 100644
--- a/epan/dissectors/packet-x25.c
+++ b/epan/dissectors/packet-x25.c
@@ -703,9 +703,8 @@ dump_facilities(proto_tree *tree, int *offset, tvbuff_t *tvb, packet_info *pinfo
len = tvb_get_guint8(tvb, *offset);
if (len && tree) {
- ti = proto_tree_add_text(tree, tvb, *offset, len + 1,
- "Facilities");
- facilities_tree = proto_item_add_subtree(ti, ett_x25_facilities);
+ facilities_tree = proto_tree_add_subtree(tree, tvb, *offset, len + 1,
+ ett_x25_facilities, NULL, "Facilities");
proto_tree_add_item(facilities_tree, hf_x25_facilities_length, tvb, *offset, 1, ENC_NA);
}
(*offset)++;
@@ -1399,11 +1398,8 @@ dissect_x25_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (localoffset < tvb_reported_length(tvb)) /* user data */
{
- if (x25_tree) {
- ti = proto_tree_add_text(x25_tree, tvb, localoffset, -1,
- "User data");
- userdata_tree = proto_item_add_subtree(ti, ett_x25_user_data);
- }
+ userdata_tree = proto_tree_add_subtree(x25_tree, tvb, localoffset, -1,
+ ett_x25_user_data, &ti, "User data");
/* X.263/ISO 9577 says that:
diff --git a/epan/dissectors/packet-xdmcp.c b/epan/dissectors/packet-xdmcp.c
index fd3d287d78..3359b66c7d 100644
--- a/epan/dissectors/packet-xdmcp.c
+++ b/epan/dissectors/packet-xdmcp.c
@@ -152,12 +152,10 @@ static gint xdmcp_add_authentication_names(proto_tree *tree,
anames_start_offset = offset;
anames_len = tvb_get_guint8(tvb, offset);
- anames_ti = proto_tree_add_text(tree, tvb,
+ anames_tree = proto_tree_add_subtree_format(tree, tvb,
anames_start_offset, -1,
- "Authentication names (%d)",
+ ett_xdmcp_authentication_names, &anames_ti, "Authentication names (%d)",
anames_len);
- anames_tree = proto_item_add_subtree(anames_ti,
- ett_xdmcp_authentication_names);
anames_len = tvb_get_guint8(tvb, offset);
offset++;
@@ -179,12 +177,10 @@ static gint xdmcp_add_authorization_names(proto_tree *tree,
anames_start_offset = offset;
anames_len = tvb_get_guint8(tvb, offset);
- anames_ti = proto_tree_add_text(tree, tvb,
+ anames_tree = proto_tree_add_subtree_format(tree, tvb,
anames_start_offset, -1,
- "Authorization names (%d)",
+ ett_xdmcp_authorization_names, &anames_ti, "Authorization names (%d)",
anames_len);
- anames_tree = proto_item_add_subtree(anames_ti,
- ett_xdmcp_authorization_names);
anames_len = tvb_get_guint8(tvb, offset);
offset++;
@@ -314,11 +310,10 @@ static int dissect_xdmcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
return offset;
}
- clist_ti = proto_tree_add_text(xdmcp_tree,
+ clist_tree = proto_tree_add_subtree_format(xdmcp_tree,
tvb, ctypes_start_offset, -1,
- "Connections (%d)",
+ ett_xdmcp_connections, &clist_ti, "Connections (%d)",
ctypes_len);
- clist_tree = proto_item_add_subtree(clist_ti, ett_xdmcp_connections);
offset++;
caddrs_offset++;
@@ -334,10 +329,8 @@ static int dissect_xdmcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo
alen = tvb_get_ntohs(tvb, caddrs_offset);
caddrs_offset += 2;
- connection_ti = proto_tree_add_text(clist_tree, NULL, 0, 0,
- "Connection %d", n);
- connection_tree = proto_item_add_subtree(connection_ti,
- ett_xdmcp_connection);
+ connection_tree = proto_tree_add_subtree_format(clist_tree, NULL, 0, 0,
+ ett_xdmcp_connection, &connection_ti, "Connection %d", n);
proto_tree_add_item(connection_tree, hf_xdmcp_connection_type, tvb, offset-2, 2, ENC_BIG_ENDIAN);
diff --git a/epan/dissectors/packet-xmpp-conference.c b/epan/dissectors/packet-xmpp-conference.c
index 6c183f6ebb..c1a3def5c9 100644
--- a/epan/dissectors/packet-xmpp-conference.c
+++ b/epan/dissectors/packet-xmpp-conference.c
@@ -136,7 +136,6 @@ xmpp_conf_desc(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element
static void
xmpp_conf_state(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *state_item;
proto_tree *state_tree;
xmpp_attr_info attrs_info [] = {
@@ -145,8 +144,8 @@ xmpp_conf_state(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_elemen
{"locked", NULL, FALSE, TRUE, NULL, NULL}
};
- state_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "CONFERENCE STATE");
- state_tree = proto_item_add_subtree(state_item, ett_xmpp_conf_state);
+ state_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length,
+ ett_xmpp_conf_state, NULL, "CONFERENCE STATE");
xmpp_change_elem_to_attrib("user-count", "user-count", element, xmpp_transform_func_cdata);
xmpp_change_elem_to_attrib("active", "active", element, xmpp_transform_func_cdata);
@@ -160,7 +159,6 @@ xmpp_conf_state(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_elemen
static void
xmpp_conf_users(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *users_item;
proto_tree *users_tree;
xmpp_attr_info attrs_info [] = {
@@ -171,8 +169,7 @@ xmpp_conf_users(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_elemen
{NAME, "user", xmpp_conf_user, MANY}
};
- users_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "USERS");
- users_tree = proto_item_add_subtree(users_item, ett_xmpp_conf_users);
+ users_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_conf_users, NULL, "USERS");
xmpp_display_attrs(users_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(users_tree, element, pinfo, tvb, elems_info, array_length(elems_info));
@@ -180,7 +177,6 @@ xmpp_conf_users(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_elemen
static void
xmpp_conf_user(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *user_item;
proto_tree *user_tree;
xmpp_attr_info attrs_info [] = {
@@ -197,8 +193,7 @@ xmpp_conf_user(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element
{NAME, "endpoint", xmpp_conf_endpoint, MANY},
};
- user_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "USERS");
- user_tree = proto_item_add_subtree(user_item, ett_xmpp_conf_user);
+ user_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_conf_user, NULL, "USERS");
xmpp_change_elem_to_attrib("display-text", "display-text", element, xmpp_transform_func_cdata);
xmpp_change_elem_to_attrib("cascaded-focus", "cascaded-focus", element, xmpp_transform_func_cdata);
@@ -210,7 +205,6 @@ xmpp_conf_user(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element
static void
xmpp_conf_endpoint(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *endpoint_item;
proto_tree *endpoint_tree;
xmpp_attr_info attrs_info [] = {
@@ -231,8 +225,7 @@ xmpp_conf_endpoint(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_ele
};
- endpoint_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "ENDPOINT");
- endpoint_tree = proto_item_add_subtree(endpoint_item, ett_xmpp_conf_endpoint);
+ endpoint_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_conf_endpoint, NULL, "ENDPOINT");
xmpp_change_elem_to_attrib("display-text", "display-text", element, xmpp_transform_func_cdata);
xmpp_change_elem_to_attrib("status", "status", element, xmpp_transform_func_cdata);
@@ -247,7 +240,6 @@ xmpp_conf_endpoint(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_ele
static void
xmpp_conf_media(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *media_item;
proto_tree *media_tree;
xmpp_attr_info attrs_info[] = {
@@ -259,8 +251,7 @@ xmpp_conf_media(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_elemen
{"status", NULL, FALSE, TRUE, NULL, NULL},
};
- media_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "MEDIA");
- media_tree = proto_item_add_subtree(media_item, ett_xmpp_conf_media);
+ media_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_conf_media, NULL, "MEDIA");
xmpp_change_elem_to_attrib("display-text", "display-text", element, xmpp_transform_func_cdata);
xmpp_change_elem_to_attrib("type", "type", element, xmpp_transform_func_cdata);
diff --git a/epan/dissectors/packet-xmpp-core.c b/epan/dissectors/packet-xmpp-core.c
index 4d0391d84b..41c0ac86b4 100644
--- a/epan/dissectors/packet-xmpp-core.c
+++ b/epan/dissectors/packet-xmpp-core.c
@@ -674,7 +674,6 @@ xmpp_features(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_
static void
xmpp_features_mechanisms(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *packet)
{
- proto_item *mechanisms_item;
proto_tree *mechanisms_tree;
xmpp_attr_info attrs_info [] = {
@@ -685,8 +684,7 @@ xmpp_features_mechanisms(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xm
{NAME, "mechanism", xmpp_simple_cdata_elem, MANY},
};
- mechanisms_item = proto_tree_add_text(tree, tvb, packet->offset, packet->length, "MECHANISMS");
- mechanisms_tree = proto_item_add_subtree(mechanisms_item, ett_xmpp_features_mechanisms);
+ mechanisms_tree = proto_tree_add_subtree(tree, tvb, packet->offset, packet->length, ett_xmpp_features_mechanisms, NULL, "MECHANISMS");
xmpp_display_attrs(mechanisms_tree, packet, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(mechanisms_tree, packet, pinfo, tvb, elems_info, array_length(elems_info));
diff --git a/epan/dissectors/packet-xmpp-gtalk.c b/epan/dissectors/packet-xmpp-gtalk.c
index 21c898bab8..4429847870 100644
--- a/epan/dissectors/packet-xmpp-gtalk.c
+++ b/epan/dissectors/packet-xmpp-gtalk.c
@@ -90,7 +90,6 @@ xmpp_gtalk_session(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_ele
static void
xmpp_gtalk_session_desc(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *desc_item;
proto_tree *desc_tree;
xmpp_attr_info attrs_info[] = {
@@ -102,8 +101,7 @@ xmpp_gtalk_session_desc(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
{NAME, "payload-type", xmpp_gtalk_session_desc_payload, MANY}
};
- desc_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "DESCRIPTION");
- desc_tree = proto_item_add_subtree(desc_item, ett_xmpp_gtalk_session_desc);
+ desc_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_session_desc, NULL, "DESCRIPTION");
xmpp_display_attrs(desc_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(desc_tree, element, pinfo, tvb, elems_info, array_length(elems_info));
@@ -112,7 +110,6 @@ xmpp_gtalk_session_desc(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_session_desc_payload(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *payload_item;
proto_tree *payload_tree;
xmpp_attr_info attrs_info[] = {
@@ -127,8 +124,7 @@ xmpp_gtalk_session_desc_payload(proto_tree* tree, tvbuff_t* tvb, packet_info* pi
{"framerate", NULL, FALSE, FALSE, NULL, NULL},
};
- payload_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "PAYLOAD-TYPE");
- payload_tree = proto_item_add_subtree(payload_item, ett_xmpp_gtalk_session_desc_payload);
+ payload_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_session_desc_payload, NULL, "PAYLOAD-TYPE");
xmpp_display_attrs(payload_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(payload_tree, element, pinfo, tvb, NULL, 0);
@@ -137,7 +133,6 @@ xmpp_gtalk_session_desc_payload(proto_tree* tree, tvbuff_t* tvb, packet_info* pi
static void
xmpp_gtalk_session_cand(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *cand_item;
proto_tree *cand_tree;
xmpp_attr_info attrs_info[] = {
@@ -155,8 +150,7 @@ xmpp_gtalk_session_cand(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
{"component", NULL, FALSE, FALSE, NULL, NULL}
};
- cand_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "CANDIDATE");
- cand_tree = proto_item_add_subtree(cand_item, ett_xmpp_gtalk_session_cand);
+ cand_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_session_cand, NULL, "CANDIDATE");
xmpp_display_attrs(cand_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(cand_tree, element, pinfo, tvb, NULL, 0);
@@ -165,7 +159,6 @@ xmpp_gtalk_session_cand(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_session_reason(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *reason_item;
proto_tree *reason_tree;
xmpp_attr_info attrs_info[] = {
@@ -178,8 +171,7 @@ xmpp_gtalk_session_reason(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, x
static const gchar *reason_names[] = { "success", "busy", "cancel"};
- reason_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "REASON");
- reason_tree = proto_item_add_subtree(reason_item, ett_xmpp_gtalk_session_reason);
+ reason_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_session_reason, NULL, "REASON");
/*Looks for reason description.*/
@@ -229,15 +221,13 @@ xmpp_gtalk_jingleinfo_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo,
static void
xmpp_gtalk_jingleinfo_stun(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *stun_item;
proto_tree *stun_tree;
xmpp_elem_info elems_info [] = {
{NAME, "server", xmpp_gtalk_jingleinfo_server, MANY},
};
- stun_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "STUN");
- stun_tree = proto_item_add_subtree(stun_item, ett_xmpp_gtalk_jingleinfo_stun);
+ stun_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_jingleinfo_stun, NULL, "STUN");
xmpp_display_attrs(stun_tree, element, pinfo, tvb, NULL, 0);
xmpp_display_elems(stun_tree, element, pinfo, tvb, elems_info, array_length(elems_info));
@@ -247,7 +237,6 @@ xmpp_gtalk_jingleinfo_stun(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo,
static void
xmpp_gtalk_jingleinfo_server(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *serv_item;
proto_tree *serv_tree;
xmpp_attr_info attrs_info[] = {
@@ -255,8 +244,7 @@ xmpp_gtalk_jingleinfo_server(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo
{"udp", NULL, TRUE, TRUE, NULL, NULL}
};
- serv_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "SERVER");
- serv_tree = proto_item_add_subtree(serv_item, ett_xmpp_gtalk_jingleinfo_server);
+ serv_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_jingleinfo_server, NULL, "SERVER");
xmpp_display_attrs(serv_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(serv_tree, element, pinfo, tvb, NULL, 0);
@@ -265,7 +253,6 @@ xmpp_gtalk_jingleinfo_server(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo
static void
xmpp_gtalk_jingleinfo_relay(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *relay_item;
proto_tree *relay_tree;
xmpp_attr_info attrs_info[] = {
@@ -278,8 +265,7 @@ xmpp_gtalk_jingleinfo_relay(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo,
xmpp_element_t *token;
- relay_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "RELAY");
- relay_tree = proto_item_add_subtree(relay_item, ett_xmpp_gtalk_jingleinfo_relay);
+ relay_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_jingleinfo_relay, NULL, "RELAY");
if((token = xmpp_steal_element_by_name(element, "token"))!=NULL)
{
@@ -294,7 +280,6 @@ xmpp_gtalk_jingleinfo_relay(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo,
static void
xmpp_gtalk_jingleinfo_relay_serv(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *serv_item;
proto_tree *serv_tree;
xmpp_attr_info attrs_info[] = {
@@ -304,8 +289,7 @@ xmpp_gtalk_jingleinfo_relay_serv(proto_tree* tree, tvbuff_t* tvb, packet_info* p
{"tcpssl", NULL, FALSE, TRUE, NULL, NULL}
};
- serv_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "SERVER");
- serv_tree = proto_item_add_subtree(serv_item, ett_xmpp_gtalk_jingleinfo_relay_serv);
+ serv_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_jingleinfo_relay_serv, NULL, "SERVER");
xmpp_display_attrs(serv_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(serv_tree, element, pinfo, tvb, NULL, 0);
@@ -367,7 +351,6 @@ xmpp_gtalk_nosave_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_nosave_item(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *item_item;
proto_tree *item_tree;
xmpp_attr_info attrs_info[] = {
@@ -377,8 +360,7 @@ xmpp_gtalk_nosave_item(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp
{"value", NULL, TRUE, TRUE, NULL, NULL}
};
- item_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "ITEM");
- item_tree = proto_item_add_subtree(item_item, ett_xmpp_query_item);
+ item_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_query_item, NULL, "ITEM");
xmpp_display_attrs(item_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(item_tree, element, pinfo, tvb, NULL, 0);
@@ -456,7 +438,6 @@ xmpp_gtalk_mail_mailbox(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_mail_mail_info(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *mail_info_item;
proto_tree *mail_info_tree;
xmpp_attr_info attrs_info [] = {
@@ -476,8 +457,7 @@ xmpp_gtalk_mail_mail_info(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, x
xmpp_element_t *labels, *subject;
- mail_info_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "MAIL-THREAD-INFO");
- mail_info_tree = proto_item_add_subtree(mail_info_item,ett_xmpp_gtalk_mail_mail_info);
+ mail_info_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_mail_mail_info, NULL, "MAIL-THREAD-INFO");
if((labels = xmpp_steal_element_by_name(element,"labels"))!=NULL)
{
@@ -498,15 +478,13 @@ xmpp_gtalk_mail_mail_info(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, x
static void
xmpp_gtalk_mail_senders(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *senders_item;
proto_tree *senders_tree;
xmpp_elem_info elems_info [] = {
{NAME, "sender", xmpp_gtalk_mail_sender, MANY}
};
- senders_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "SENDERS");
- senders_tree = proto_item_add_subtree(senders_item, ett_xmpp_gtalk_mail_senders);
+ senders_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_mail_senders, NULL, "SENDERS");
xmpp_display_attrs(senders_tree, element, pinfo, tvb, NULL, 0);
xmpp_display_elems(senders_tree, element, pinfo, tvb, elems_info, array_length(elems_info));
@@ -515,7 +493,6 @@ xmpp_gtalk_mail_senders(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_mail_sender(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *sender_item;
proto_tree *sender_tree;
xmpp_attr_info attrs_info [] = {
@@ -525,8 +502,7 @@ xmpp_gtalk_mail_sender(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp
{"unread", NULL, FALSE, TRUE, NULL, NULL}
};
- sender_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "SENDER");
- sender_tree = proto_item_add_subtree(sender_item, ett_xmpp_gtalk_mail_sender);
+ sender_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_mail_sender, NULL, "SENDER");
xmpp_display_attrs(sender_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(sender_tree, element, pinfo, tvb, NULL, 0);
@@ -605,7 +581,6 @@ xmpp_gtalk_status_query(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmp
static void
xmpp_gtalk_status_status_list(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *list_item;
proto_tree *list_tree;
xmpp_attr_info attrs_info [] = {
@@ -614,8 +589,7 @@ xmpp_gtalk_status_status_list(proto_tree* tree, tvbuff_t* tvb, packet_info* pinf
xmpp_element_t *status;
- list_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "STATUS LIST");
- list_tree = proto_item_add_subtree(list_item, ett_xmpp_gtalk_status_status_list);
+ list_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_status_status_list, NULL, "STATUS LIST");
while((status = xmpp_steal_element_by_name(element, "status"))!=NULL)
{
@@ -651,7 +625,6 @@ xmpp_gtalk_transport_p2p(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xm
static void
xmpp_gtalk_transport_p2p_cand(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element) {
- proto_item *cand_item;
proto_tree *cand_tree;
xmpp_attr_info attrs_info[] = {
@@ -669,8 +642,7 @@ xmpp_gtalk_transport_p2p_cand(proto_tree* tree, tvbuff_t* tvb, packet_info* pinf
{"address", NULL, FALSE, TRUE, NULL, NULL}
};
- cand_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "CANDIDATE");
- cand_tree = proto_item_add_subtree(cand_item, ett_xmpp_gtalk_transport_p2p_cand);
+ cand_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_gtalk_transport_p2p_cand, NULL, "CANDIDATE");
xmpp_display_attrs(cand_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(cand_tree, element, pinfo, tvb, NULL, 0);
diff --git a/epan/dissectors/packet-xmpp-jingle.c b/epan/dissectors/packet-xmpp-jingle.c
index d0ccda7445..423c4d39f8 100644
--- a/epan/dissectors/packet-xmpp-jingle.c
+++ b/epan/dissectors/packet-xmpp-jingle.c
@@ -835,7 +835,6 @@ xmpp_jingle_file_transfer_checksum(proto_tree* tree, tvbuff_t* tvb, packet_info*
static void
xmpp_jingle_file_transfer_file(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *file_item;
proto_tree *file_tree;
xmpp_attr_info attrs_info[] = {
@@ -848,8 +847,7 @@ xmpp_jingle_file_transfer_file(proto_tree* tree, tvbuff_t* tvb, packet_info* pin
{NAME, "hashes", xmpp_hashes, ONE}
};
- file_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "FILE");
- file_tree = proto_item_add_subtree(file_item, ett_xmpp_jingle_file_transfer_file);
+ file_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_jingle_file_transfer_file, NULL, "FILE");
xmpp_change_elem_to_attrib("name", "name", element, xmpp_transform_func_cdata);
xmpp_change_elem_to_attrib("size", "size", element, xmpp_transform_func_cdata);
@@ -888,7 +886,6 @@ xmpp_jinglenodes_services(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, x
static void
xmpp_jinglenodes_relay_stun_tracker(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *relay_item;
proto_tree *relay_tree;
xmpp_attr_info attrs_info[] = {
@@ -898,8 +895,7 @@ xmpp_jinglenodes_relay_stun_tracker(proto_tree *tree, tvbuff_t *tvb, packet_info
{"protocol", NULL, TRUE, TRUE, NULL, NULL},
};
- relay_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "%s", element->name);
- relay_tree = proto_item_add_subtree(relay_item, ett_xmpp_services_relay);
+ relay_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_services_relay, NULL, element->name);
xmpp_display_attrs(relay_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(relay_tree, element, pinfo, tvb, NULL, 0);
diff --git a/epan/dissectors/packet-xmpp-other.c b/epan/dissectors/packet-xmpp-other.c
index 97eb3191fe..c9ebea7385 100644
--- a/epan/dissectors/packet-xmpp-other.c
+++ b/epan/dissectors/packet-xmpp-other.c
@@ -539,7 +539,6 @@ xmpp_si_file(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t
static void
xmpp_si_file_range(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_element_t* element)
{
- proto_item *range_item;
proto_tree *range_tree;
xmpp_attr_info attrs_info[] = {
@@ -547,8 +546,7 @@ xmpp_si_file_range(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, xmpp_ele
{"length", NULL, FALSE, TRUE, NULL, NULL}
};
- range_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "RANGE: ");
- range_tree = proto_item_add_subtree(range_item, ett_xmpp_si_file_range);
+ range_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_si_file_range, NULL, "RANGE: ");
xmpp_display_attrs(range_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
@@ -921,7 +919,6 @@ xmpp_muc_x(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *
static void
xmpp_muc_history(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *hist_item;
proto_tree *hist_tree;
xmpp_attr_info attrs_info[] = {
@@ -931,8 +928,7 @@ xmpp_muc_history(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_eleme
{"since", NULL, FALSE, TRUE, NULL, NULL}
};
- hist_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "HISTORY: ");
- hist_tree = proto_item_add_subtree(hist_item, ett_xmpp_muc_hist);
+ hist_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_muc_hist, NULL, "HISTORY: ");
xmpp_display_attrs(hist_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
@@ -1237,7 +1233,6 @@ xmpp_hashes(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t
static void
xmpp_hashes_hash(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_element_t *element)
{
- proto_item *hash_item;
proto_tree *hash_tree;
xmpp_attr_info attrs_info[] = {
@@ -1248,8 +1243,7 @@ xmpp_hashes_hash(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_eleme
xmpp_attr_t *fake_cdata = xmpp_ep_init_attr_t(xmpp_elem_cdata(element), element->offset, element->length);
g_hash_table_insert(element->attrs, (gpointer)"value", fake_cdata);
- hash_item = proto_tree_add_text(tree, tvb, element->offset, element->length, "HASH");
- hash_tree = proto_item_add_subtree(hash_item, ett_xmpp_hashes_hash);
+ hash_tree = proto_tree_add_subtree(tree, tvb, element->offset, element->length, ett_xmpp_hashes_hash, NULL, "HASH");
xmpp_display_attrs(hash_tree, element, pinfo, tvb, attrs_info, array_length(attrs_info));
xmpp_display_elems(hash_tree, element, pinfo, tvb, NULL, 0);
diff --git a/epan/dissectors/packet-xmpp-utils.c b/epan/dissectors/packet-xmpp-utils.c
index 5e013bb9a6..ae86ffce2b 100644
--- a/epan/dissectors/packet-xmpp-utils.c
+++ b/epan/dissectors/packet-xmpp-utils.c
@@ -206,8 +206,9 @@ xmpp_unknown_items(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, xmpp_ele
while(childs)
{
xmpp_element_t *child = (xmpp_element_t *)childs->data;
- proto_item *child_item = proto_tree_add_text(tree, tvb, child->offset, child->length, "%s", xmpp_ep_string_upcase(child->name));
- proto_tree *child_tree = proto_item_add_subtree(child_item, ett_unknown[level]);
+ proto_item *child_item;
+ proto_tree *child_tree = proto_tree_add_subtree(tree, tvb, child->offset, child->length,
+ ett_unknown[level], &child_item, xmpp_ep_string_upcase(child->name));
if(child->default_ns_abbrev)
proto_item_append_text(child_item, "(%s)", child->default_ns_abbrev);
diff --git a/epan/dissectors/packet-xtp.c b/epan/dissectors/packet-xtp.c
index 66800be0a1..c394613cf3 100644
--- a/epan/dissectors/packet-xtp.c
+++ b/epan/dissectors/packet-xtp.c
@@ -332,8 +332,7 @@ dissect_xtp_aseg(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
struct xtp_ip_addr_seg aseg[1];
int error = 0;
- top_ti = proto_tree_add_text(tree, tvb, offset, len, "Address Segment");
- xtp_subtree = proto_item_add_subtree(top_ti, ett_xtp_aseg);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_aseg, &top_ti, "Address Segment");
if (len < XTP_NULL_ADDR_SEG_LEN) {
proto_item_append_text(top_ti, ", bogus length(%u, must be at least %u)",
@@ -448,9 +447,8 @@ dissect_xtp_traffic_cntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree *xtp_subtree;
struct xtp_traffic_cntl tcntl[1];
- top_ti = proto_tree_add_text(tree, tvb, offset, len,
- "Traffic Control Segment");
- xtp_subtree = proto_item_add_subtree(top_ti, ett_xtp_tcntl);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
+ ett_xtp_tcntl, &top_ti, "Traffic Control Segment");
if (len < XTP_TRAFFIC_CNTL_LEN) {
proto_item_append_text(top_ti,
@@ -525,8 +523,7 @@ dissect_xtp_tspec(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
struct xtp_traffic_spec1 tspec[1];
int error = 0;
- ti = proto_tree_add_text(tree, tvb, offset, len, "Traffic Specifier");
- xtp_subtree = proto_item_add_subtree(ti, ett_xtp_tspec);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_tspec, &ti, "Traffic Specifier");
if (len < XTP_TRAFFIC_SPEC0_LEN) {
proto_item_append_text(ti,
@@ -635,12 +632,10 @@ dissect_xtp_tspec(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
static void
dissect_xtp_data(tvbuff_t *tvb, proto_tree *tree, guint32 offset, gboolean have_btag) {
guint32 len = tvb_length_remaining(tvb, offset);
- proto_item *ti;
proto_tree *xtp_subtree;
guint64 btag;
- ti = proto_tree_add_text(tree, tvb, offset, len, "Data Segment");
- xtp_subtree = proto_item_add_subtree(ti, ett_xtp_data);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_data, NULL, "Data Segment");
if (have_btag) {
btag = tvb_get_ntohl(tvb, offset);
@@ -667,9 +662,8 @@ dissect_xtp_cntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree *xtp_subtree;
struct xtp_cntl cntl[1];
- top_ti = proto_tree_add_text(tree, tvb, offset, len,
- "Common Control Segment");
- xtp_subtree = proto_item_add_subtree(top_ti, ett_xtp_cntl);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
+ ett_xtp_cntl, &top_ti, "Common Control Segment");
if (len != XTP_CNTL_PKT_LEN) {
proto_item_append_text(top_ti, ", bogus length(%u, must be %u)",
@@ -741,9 +735,8 @@ dissect_xtp_ecntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
guint spans_len;
guint i;
- top_ti = proto_tree_add_text(tree, tvb, offset, len,
- "Error Control Segment");
- xtp_subtree = proto_item_add_subtree(top_ti, ett_xtp_ecntl);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
+ ett_xtp_ecntl, &top_ti, "Error Control Segment");
if (len < MIN_XTP_ECNTL_PKT_LEN) {
proto_item_append_text(top_ti,
@@ -861,8 +854,7 @@ dissect_xtp_diag(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
struct xtp_diag diag[1];
guint32 msg_len;
- ti = proto_tree_add_text(tree, tvb, offset, len, "Diagnostic Segment");
- xtp_subtree = proto_item_add_subtree(ti, ett_xtp_diag);
+ xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_diag, &ti, "Diagnostic Segment");
if (len < XTP_DIAG_PKT_HEADER_LEN) {
proto_item_append_text(ti,
diff --git a/epan/dissectors/packet-xyplex.c b/epan/dissectors/packet-xyplex.c
index b2a6b7e7e3..9931e77af3 100644
--- a/epan/dissectors/packet-xyplex.c
+++ b/epan/dissectors/packet-xyplex.c
@@ -59,7 +59,7 @@ static const value_string xyplex_reg_vals[] = {
static int
dissect_xyplex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
- proto_tree *xyplex_tree = NULL;
+ proto_tree *xyplex_tree;
proto_item *ti;
conversation_t *conversation;
gint offset = 0;
@@ -73,10 +73,8 @@ dissect_xyplex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
col_set_str(pinfo->cinfo, COL_PROTOCOL, "XYPLEX");
- if (tree) {
- ti = proto_tree_add_item(tree, proto_xyplex, tvb, offset, -1, ENC_NA);
- xyplex_tree = proto_item_add_subtree(ti, ett_xyplex);
- }
+ ti = proto_tree_add_item(tree, proto_xyplex, tvb, offset, -1, ENC_NA);
+ xyplex_tree = proto_item_add_subtree(ti, ett_xyplex);
if (pinfo->destport == UDP_PORT_XYPLEX) {
/* This is a registration request from a Unix server