aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bacnet.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-11-29 15:41:12 -0500
committerMichael Mann <mmann78@netscape.net>2014-11-29 22:42:56 +0000
commit05516b0c928ca7178ba4285dd8381b63e772cb53 (patch)
tree2464c751a10db403a001ba45e7b5b510196dea7b /epan/dissectors/packet-bacnet.c
parente39938256b539e3edb4684e19f4b28e95fa900dd (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.c34
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,