aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bpdu.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-06-14 23:17:25 -0400
committerMichael Mann <mmann78@netscape.net>2016-06-15 15:18:37 +0000
commit525fd71b367cc733535e25611728dbf18c7e98ff (patch)
tree90d08870aa27d3611ca0c55fe1b42df5227af284 /epan/dissectors/packet-bpdu.c
parentd25a60c1c1db0d81e332272fe00ec4ef4fb03e65 (diff)
proto_tree_add_boolean -> proto_tree_add_bitmask_list_value
Change-Id: Ic644042d238b5f2abcd874bca92c6dea55804ba9 Reviewed-on: https://code.wireshark.org/review/15913 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-bpdu.c')
-rw-r--r--epan/dissectors/packet-bpdu.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/epan/dissectors/packet-bpdu.c b/epan/dissectors/packet-bpdu.c
index 456e48f1f7..f7fe851b55 100644
--- a/epan/dissectors/packet-bpdu.c
+++ b/epan/dissectors/packet-bpdu.c
@@ -334,7 +334,6 @@ dissect_bpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean is_bp
guint16 msti_bridge_identifier_priority, msti_port_identifier_priority;
int total_msti_length, offset, msti, msti_format;
int msti_length_remaining;
- guint8 agree_num = 0, dagree_num = 0;
int spt_offset = 0;
@@ -933,6 +932,14 @@ dissect_bpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean is_bp
/* version 4 length is 55 or more.
*/
if (version_4_length >= 53) {
+ static const int * agreements[] = {
+ &hf_bpdu_flags_agree_num,
+ &hf_bpdu_flags_dagree_num,
+ &hf_bpdu_flags_agree_valid,
+ &hf_bpdu_flags_restricted_role,
+ NULL
+ };
+
spt_tree = proto_tree_add_subtree(bpdu_tree, tvb, bpdu_version_4_length, -1,
ett_spt, NULL, "SPT Extension");
@@ -963,27 +970,12 @@ dissect_bpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean is_bp
spt_agree_data = tvb_get_guint8(tvb, spt_offset);
sep = initial_sep;
- if (agreement_item) {
- agree_num = (spt_agree_data & 0x03);
- proto_item_append_text(agreement_item, "%sAN: %d", sep, agree_num );
- }
+ proto_item_append_text(agreement_item, "%sAN: %d", sep, (spt_agree_data & 0x03));
- proto_tree_add_uint(agreement_tree, hf_bpdu_flags_agree_num,
- tvb, spt_offset, 1, spt_agree_data);
+ proto_tree_add_bitmask_list_value(agreement_tree, tvb, spt_offset, 1, agreements, spt_agree_data);
sep = cont_sep;
- if (agreement_item) {
- dagree_num = ((spt_agree_data & 0x0C) >> 2);
- proto_item_append_text(agreement_item, "%sDAN: %d", sep, dagree_num);
- }
- proto_tree_add_uint(agreement_tree, hf_bpdu_flags_dagree_num,
- tvb, spt_offset, 1, spt_agree_data);
-
- proto_tree_add_boolean(agreement_tree, hf_bpdu_flags_agree_valid,
- tvb, spt_offset, 1, spt_agree_data);
-
- proto_tree_add_boolean(agreement_tree, hf_bpdu_flags_restricted_role,
- tvb, spt_offset, 1, spt_agree_data);
+ proto_item_append_text(agreement_item, "%sDAN: %d", sep, ((spt_agree_data & 0x0C) >> 2));
if (sep != initial_sep) {
proto_item_append_text(agreement_item, ")");