aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-zbee-zcl.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-12-01 00:18:41 -0500
committerAnders Broman <a.broman58@gmail.com>2014-12-01 12:18:44 +0000
commite77507b0eac903e74389ef1bf2dfa51d4cf00aad (patch)
treed9a99ae5315842fd1d3cc957c8adac50a779e5ed /epan/dissectors/packet-zbee-zcl.c
parent542439e64aef746512a5a8d3835e49805087c706 (diff)
Use proto_tree_add_bitmask for groups of proto_tree_add_boolean.
Part 3 of many, but this concludes the strict conversion to proto_tree_add_bitmask. Patches to follow with use proto_tree_add_bitmask_xxx (some functions still need to be written) Change-Id: Ic2435667c6a7f1d40602124e5044954d2a296180 Reviewed-on: https://code.wireshark.org/review/5553 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-zbee-zcl.c')
-rw-r--r--epan/dissectors/packet-zbee-zcl.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/epan/dissectors/packet-zbee-zcl.c b/epan/dissectors/packet-zbee-zcl.c
index 0cf9936291..ac57361869 100644
--- a/epan/dissectors/packet-zbee-zcl.c
+++ b/epan/dissectors/packet-zbee-zcl.c
@@ -1102,6 +1102,13 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
offset += 1;
break;
case ZBEE_ZCL_CSC_THERMOSTAT_C_SWS:
+ {
+ static const int * modes[] = {
+ &hf_zbee_zcl_thermostat_client_sws_mfs_heat,
+ &hf_zbee_zcl_thermostat_client_sws_mfs_cool,
+ NULL
+ };
+
/* Set Weekly Schedule. */
number_of_transitions = tvb_get_guint8(tvb, offset);
proto_tree_add_uint(zcl_tree, hf_zbee_zcl_thermostat_client_sws_n_trans, tvb, offset, 1,
@@ -1119,13 +1126,7 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
offset += 1;
mode_for_sequence = tvb_get_guint8(tvb, offset);
- ti = proto_tree_add_uint_format(zcl_tree, hf_zbee_zcl_thermostat_client_sws_mfs, tvb,
- offset, 1, mode_for_sequence, "Mode for Sequence");
- sub_tree = proto_item_add_subtree(ti, ett_zbee_zcl_thermostat_client_sws_mfs);
- proto_tree_add_boolean(sub_tree, hf_zbee_zcl_thermostat_client_sws_mfs_heat, tvb,
- offset, 1, mode_for_sequence);
- proto_tree_add_boolean(sub_tree, hf_zbee_zcl_thermostat_client_sws_mfs_cool, tvb,
- offset, 1, mode_for_sequence);
+ proto_tree_add_bitmask(zcl_tree, tvb, offset, hf_zbee_zcl_thermostat_client_sws_mfs, ett_zbee_zcl_thermostat_client_sws_mfs, modes, ENC_NA);
offset += 1;
for (i = 1; i <= number_of_transitions; ++i) {
switch (mode_for_sequence) {
@@ -1168,6 +1169,7 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
break;
}
}
+ }
break;
}
}
@@ -1181,6 +1183,13 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
offset += 1;
switch (packet.cmd_id) {
case ZBEE_ZCL_CSC_THERMOSTAT_S_GWSR:
+ {
+ static const int * modes[] = {
+ &hf_zbee_zcl_thermostat_server_gwsr_mfs_heat,
+ &hf_zbee_zcl_thermostat_server_gwsr_mfs_cool,
+ NULL
+ };
+
/* Get Weekly Schedule Response. */
number_of_transitions = tvb_get_guint8(tvb, offset);
proto_tree_add_uint(zcl_tree, hf_zbee_zcl_thermostat_server_gwsr_n_trans, tvb, offset,
@@ -1198,13 +1207,7 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
offset += 1;
mode_for_sequence = tvb_get_guint8(tvb, offset);
- ti = proto_tree_add_uint_format(zcl_tree, hf_zbee_zcl_thermostat_server_gwsr_mfs, tvb,
- offset, 1, mode_for_sequence, "Mode for Sequence");
- sub_tree = proto_item_add_subtree(ti, ett_zbee_zcl_thermostat_server_gwsr_mfs);
- proto_tree_add_boolean(sub_tree, hf_zbee_zcl_thermostat_server_gwsr_mfs_heat, tvb,
- offset, 1, mode_for_sequence);
- proto_tree_add_boolean(sub_tree, hf_zbee_zcl_thermostat_server_gwsr_mfs_cool, tvb,
- offset, 1, mode_for_sequence);
+ proto_tree_add_bitmask(zcl_tree, tvb, offset, hf_zbee_zcl_thermostat_server_gwsr_mfs, ett_zbee_zcl_thermostat_server_gwsr_mfs, modes, ENC_NA);
offset += 1;
for (i = 1; i <= number_of_transitions; ++i) {
switch (mode_for_sequence) {
@@ -1247,6 +1250,7 @@ static int dissect_zbee_zcl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
break;
}
}
+ }
break;
}
}