diff options
author | Michael Mann <mmann78@netscape.net> | 2014-11-29 15:41:12 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-11-29 22:42:56 +0000 |
commit | 05516b0c928ca7178ba4285dd8381b63e772cb53 (patch) | |
tree | 2464c751a10db403a001ba45e7b5b510196dea7b /epan/dissectors/packet-bacnet.c | |
parent | e39938256b539e3edb4684e19f4b28e95fa900dd (diff) |
Use proto_tree_add_bitmask for groups of proto_tree_add_boolean.
Part 1 of many
Change-Id: I77a5789ac23388e6a5f8098dc398592f39638124
Reviewed-on: https://code.wireshark.org/review/5532
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-bacnet.c')
-rw-r--r-- | epan/dissectors/packet-bacnet.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/epan/dissectors/packet-bacnet.c b/epan/dissectors/packet-bacnet.c index 3482f9d2da..ba4ad9ae15 100644 --- a/epan/dissectors/packet-bacnet.c +++ b/epan/dissectors/packet-bacnet.c @@ -171,9 +171,7 @@ static void dissect_bacnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_item *ti; - proto_item *ct; proto_tree *bacnet_tree; - proto_tree *control_tree; gint offset; guint8 bacnet_version; @@ -187,6 +185,17 @@ dissect_bacnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) guint8 i; tvbuff_t *next_tvb; guint32 vendor_id; + static const int * control_flags[] = { + &hf_bacnet_control_net, + &hf_bacnet_control_res1, + &hf_bacnet_control_dest, + &hf_bacnet_control_res2, + &hf_bacnet_control_src, + &hf_bacnet_control_expect, + &hf_bacnet_control_prio_high, + &hf_bacnet_control_prio_low, + NULL + }; col_set_str(pinfo->cinfo, COL_PROTOCOL, "BACnet-NPDU"); @@ -206,25 +215,8 @@ dissect_bacnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) bacnet_version,"0x%02x (%s)",bacnet_version, (bacnet_version == 0x01)?"ASHRAE 135-1995":"unknown"); offset ++; - ct = proto_tree_add_uint(bacnet_tree, hf_bacnet_control, - tvb, offset, 1, bacnet_control); - control_tree = proto_item_add_subtree(ct, ett_bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_net, - tvb, offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_res1, tvb, - offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_dest, tvb, - offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_res2, tvb, - offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_src, tvb, - offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_expect, tvb, - offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_prio_high, - tvb, offset, 1, bacnet_control); - proto_tree_add_boolean(control_tree, hf_bacnet_control_prio_low, - tvb, offset, 1, bacnet_control); + proto_tree_add_bitmask(bacnet_tree, tvb, offset, hf_bacnet_control, + ett_bacnet_control, control_flags, ENC_NA); offset ++; if (bacnet_control & BAC_CONTROL_DEST) { /* DNET, DLEN, DADR */ proto_tree_add_item(bacnet_tree, hf_bacnet_dnet, |