diff options
author | Michael Mann <mmann78@netscape.net> | 2014-06-22 16:01:36 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-06-22 21:07:16 +0000 |
commit | 188aa9a80eea47842988f1b860931d25e1ca08bd (patch) | |
tree | 9b6faf83e26edb43fe6befe6d2ff01c4b6daaa89 /epan/dissectors/packet-auto_rp.c | |
parent | 3fc441e7a5008640c68ec985e669d5092414a519 (diff) |
convert to proto_tree_add_subtree[_format]
Change-Id: Ib60ca75b7da8cfa21cfe2999c9b9448a02c332df
Reviewed-on: https://code.wireshark.org/review/2560
Tested-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-auto_rp.c')
-rw-r--r-- | epan/dissectors/packet-auto_rp.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/epan/dissectors/packet-auto_rp.c b/epan/dissectors/packet-auto_rp.c index 2b1ddffac0..b2a7f158ba 100644 --- a/epan/dissectors/packet-auto_rp.c +++ b/epan/dissectors/packet-auto_rp.c @@ -124,7 +124,7 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) rp_count, plurality(rp_count, "", "s")); if (tree) { - proto_item *ti, *tv; + proto_item *ti; proto_tree *auto_rp_tree, *ver_type_tree; int i, offset; guint16 holdtime; @@ -133,10 +133,10 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ti = proto_tree_add_item(tree, proto_auto_rp, tvb, offset, -1, ENC_NA); auto_rp_tree = proto_item_add_subtree(ti, ett_auto_rp); - tv = proto_tree_add_text(auto_rp_tree, tvb, offset, 1, "Version: %s, Packet type: %s", + ver_type_tree = proto_tree_add_subtree_format(auto_rp_tree, tvb, offset, 1, + ett_auto_rp_ver_type, NULL, "Version: %s, Packet type: %s", val_to_str_const(hi_nibble(ver_type), auto_rp_ver_vals, "Unknown"), val_to_str_const(lo_nibble(ver_type), auto_rp_type_vals, "Unknown")); - ver_type_tree = proto_item_add_subtree(tv, ett_auto_rp_ver_type); proto_tree_add_uint(ver_type_tree, hf_auto_rp_version, tvb, offset, 1, ver_type); proto_tree_add_uint(ver_type_tree, hf_auto_rp_type, tvb, offset, 1, ver_type); offset++; @@ -167,47 +167,41 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) */ static int do_auto_rp_map(tvbuff_t *tvb, int offset, proto_tree *auto_rp_tree) { - proto_item *ti; proto_tree *map_tree; guint8 group_count; - guint32 rp_addr; /* In network byte order */ int i; - rp_addr = tvb_get_ipv4(tvb, offset); group_count = tvb_get_guint8(tvb, offset + 5); /* sizeof map header + n * sizeof encoded group addresses */ - ti = proto_tree_add_text(auto_rp_tree, tvb, offset, 6 + group_count * 6, - "RP %s: %u group%s", ip_to_str((guint8 *)&rp_addr), + map_tree = proto_tree_add_subtree_format(auto_rp_tree, tvb, offset, 6 + group_count * 6, + ett_auto_rp_map, NULL, + "RP %s: %u group%s", tvb_ip_to_str(tvb, offset), group_count, plurality(group_count, "", "s")); - map_tree = proto_item_add_subtree(ti, ett_auto_rp_map); - proto_tree_add_ipv4(map_tree, hf_auto_rp_rp_addr, tvb, offset, 4, rp_addr); + proto_tree_add_item(map_tree, hf_auto_rp_rp_addr, tvb, offset, 4, ENC_BIG_ENDIAN); offset += 4; - proto_tree_add_uint(map_tree, hf_auto_rp_pim_ver, tvb, offset, 1, tvb_get_guint8(tvb, offset)); + proto_tree_add_item(map_tree, hf_auto_rp_pim_ver, tvb, offset, 1, ENC_NA); offset++; proto_tree_add_text(map_tree, tvb, offset, 1, "Number of groups this RP maps to: %u", group_count); offset++; for (i = 0; i < group_count; i++) { - proto_item *gi; proto_tree *grp_tree; guint8 sign, mask_len; - guint32 group_addr; /* In network byte order */ sign = tvb_get_guint8(tvb, offset); mask_len = tvb_get_guint8(tvb, offset + 1); - group_addr = tvb_get_ipv4(tvb, offset + 2); - gi = proto_tree_add_text(map_tree, tvb, offset, 6, "Group %s/%u (%s)", - ip_to_str((guint8 *)&group_addr), mask_len, + grp_tree = proto_tree_add_subtree_format(map_tree, tvb, offset, 6, + ett_auto_rp_group, NULL, "Group %s/%u (%s)", + tvb_ip_to_str(tvb, offset + 2), mask_len, val_to_str_const(sign&AUTO_RP_SIGN_MASK, auto_rp_mask_sign_vals, "")); - grp_tree = proto_item_add_subtree(gi, ett_auto_rp_group); proto_tree_add_uint(grp_tree, hf_auto_rp_prefix_sgn, tvb, offset, 1, sign); offset++; proto_tree_add_uint(grp_tree, hf_auto_rp_mask_len, tvb, offset, 1, mask_len); offset++; - proto_tree_add_ipv4(grp_tree, hf_auto_rp_group_prefix, tvb, offset, 4, group_addr); + proto_tree_add_item(grp_tree, hf_auto_rp_group_prefix, tvb, offset, 4, ENC_BIG_ENDIAN); offset += 4; } |