diff options
author | Michael Mann <mmann78@netscape.net> | 2015-04-22 07:57:37 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-04-22 23:24:45 +0000 |
commit | 8d6324f759639c7d3c0cab839ca1d3c42c93f895 (patch) | |
tree | e2a36618d1c6892347c03bf479fc3eb15f5d9571 /epan/dissectors/packet-pana.c | |
parent | 825aa502e7a1730141a3bfbf463f23167fb0b975 (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.c | 63 |
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); } |