aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pana.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-04-22 07:57:37 -0400
committerMichael Mann <mmann78@netscape.net>2015-04-22 23:24:45 +0000
commit8d6324f759639c7d3c0cab839ca1d3c42c93f895 (patch)
treee2a36618d1c6892347c03bf479fc3eb15f5d9571 /epan/dissectors/packet-pana.c
parent825aa502e7a1730141a3bfbf463f23167fb0b975 (diff)
Convert proto_tree_add_boolean to proto_tree_add_bitmask_[value|value_with_flags|list]
Part 2 of a few Change-Id: Ic1f1aafe2ed02dce95b15c03a91cbd68807a5cf4 Reviewed-on: https://code.wireshark.org/review/8165 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-pana.c')
-rw-r--r--epan/dissectors/packet-pana.c63
1 files changed, 17 insertions, 46 deletions
diff --git a/epan/dissectors/packet-pana.c b/epan/dissectors/packet-pana.c
index 662a497771..4a755be9f2 100644
--- a/epan/dissectors/packet-pana.c
+++ b/epan/dissectors/packet-pana.c
@@ -220,38 +220,18 @@ dissect_pana_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static void
dissect_pana_flags(proto_tree *parent_tree, tvbuff_t *tvb, int offset, guint16 flags)
{
+ static const int * flag_fields[] = {
+ &hf_pana_flag_r,
+ &hf_pana_flag_s,
+ &hf_pana_flag_c,
+ &hf_pana_flag_a,
+ &hf_pana_flag_p,
+ &hf_pana_flag_i,
+ NULL,
+ };
- proto_item *flags_item;
- proto_tree *flags_tree;
-
- if(parent_tree == NULL)
- return;
-
- flags_item = proto_tree_add_uint(parent_tree, hf_pana_flags, tvb,
- offset, 2, flags);
- flags_tree = proto_item_add_subtree(flags_item, ett_pana_flags);
-
- proto_tree_add_boolean(flags_tree, hf_pana_flag_r, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_R)
- proto_item_append_text(flags_item, ", Request");
- else
- proto_item_append_text(flags_item, ", Answer");
- proto_tree_add_boolean(flags_tree, hf_pana_flag_s, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_S)
- proto_item_append_text(flags_item, ", S flag set");
- proto_tree_add_boolean(flags_tree, hf_pana_flag_c, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_C)
- proto_item_append_text(flags_item, ", C flag set");
- proto_tree_add_boolean(flags_tree, hf_pana_flag_a, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_A)
- proto_item_append_text(flags_item, ", A flag set");
- proto_tree_add_boolean(flags_tree, hf_pana_flag_p, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_P)
- proto_item_append_text(flags_item, ", P flag set");
- proto_tree_add_boolean(flags_tree, hf_pana_flag_i, tvb, offset, 2, flags);
- if (flags & PANA_FLAG_I)
- proto_item_append_text(flags_item, ", I flag set");
-
+ proto_tree_add_bitmask_value_with_flags(parent_tree, tvb, offset, hf_pana_flags,
+ ett_pana_flags, flag_fields, flags, BMT_NO_TFS|BMT_NO_FALSE);
}
@@ -261,22 +241,13 @@ dissect_pana_flags(proto_tree *parent_tree, tvbuff_t *tvb, int offset, guint16 f
static void
dissect_pana_avp_flags(proto_tree *parent_tree, tvbuff_t *tvb, int offset, guint16 flags)
{
+ static const int * flag_fields[] = {
+ &hf_pana_avp_flag_v,
+ NULL,
+ };
- proto_item *avp_flags_item;
- proto_tree *avp_flags_tree;
-
- if(parent_tree == NULL) {
- return;
- }
- avp_flags_item = proto_tree_add_uint(parent_tree, hf_pana_avp_flags, tvb,
- offset, 2, flags);
- avp_flags_tree = proto_item_add_subtree(avp_flags_item, ett_pana_avp_flags);
-
- proto_tree_add_boolean(avp_flags_tree, hf_pana_avp_flag_v, tvb, offset, 2, flags);
- if (flags & PANA_AVP_FLAG_V) {
- proto_item_append_text(avp_flags_item, ", Vendor");
- }
-
+ proto_tree_add_bitmask_value_with_flags(parent_tree, tvb, offset, hf_pana_avp_flags,
+ ett_pana_avp_flags, flag_fields, flags, BMT_NO_TFS|BMT_NO_FALSE);
}