diff options
author | Michael Mann <mmann78@netscape.net> | 2014-12-01 00:18:41 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-12-01 12:18:44 +0000 |
commit | e77507b0eac903e74389ef1bf2dfa51d4cf00aad (patch) | |
tree | d9a99ae5315842fd1d3cc957c8adac50a779e5ed /epan/dissectors/packet-smb-browse.c | |
parent | 542439e64aef746512a5a8d3835e49805087c706 (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-smb-browse.c')
-rw-r--r-- | epan/dissectors/packet-smb-browse.c | 82 |
1 files changed, 26 insertions, 56 deletions
diff --git a/epan/dissectors/packet-smb-browse.c b/epan/dissectors/packet-smb-browse.c index 141f29ac5d..2243d581d0 100644 --- a/epan/dissectors/packet-smb-browse.c +++ b/epan/dissectors/packet-smb-browse.c @@ -386,53 +386,30 @@ static const true_false_string tfs_os_nts = { static void dissect_election_criterion_os(tvbuff_t *tvb, proto_tree *parent_tree, int offset) { - proto_tree *tree = NULL; - proto_item *item = NULL; - guint8 os; - - os = tvb_get_guint8(tvb, offset); - - if (parent_tree) { - item = proto_tree_add_uint(parent_tree, hf_election_os, tvb, offset, 1, os); - tree = proto_item_add_subtree(item, ett_browse_election_os); - } - - proto_tree_add_boolean(tree, hf_election_os_wfw, - tvb, offset, 1, os); - proto_tree_add_boolean(tree, hf_election_os_ntw, - tvb, offset, 1, os); - proto_tree_add_boolean(tree, hf_election_os_nts, - tvb, offset, 1, os); + static const int * flags[] = { + &hf_election_os_wfw, + &hf_election_os_ntw, + &hf_election_os_nts, + NULL + }; + proto_tree_add_bitmask(parent_tree, tvb, offset, hf_election_os, ett_browse_election_os, flags, ENC_NA); } static void dissect_election_criterion_desire(tvbuff_t *tvb, proto_tree *parent_tree, int offset) { - proto_tree *tree = NULL; - proto_item *item = NULL; - guint8 desire; - - desire = tvb_get_guint8(tvb, offset); - - if (parent_tree) { - item = proto_tree_add_uint(parent_tree, hf_election_desire, tvb, offset, 1, desire); - tree = proto_item_add_subtree(item, ett_browse_election_desire); - } - - proto_tree_add_boolean(tree, hf_election_desire_flags_backup, - tvb, offset, 1, desire); - proto_tree_add_boolean(tree, hf_election_desire_flags_standby, - tvb, offset, 1, desire); - proto_tree_add_boolean(tree, hf_election_desire_flags_master, - tvb, offset, 1, desire); - proto_tree_add_boolean(tree, hf_election_desire_flags_domain_master, - tvb, offset, 1, desire); - proto_tree_add_boolean(tree, hf_election_desire_flags_wins, - tvb, offset, 1, desire); - proto_tree_add_boolean(tree, hf_election_desire_flags_nt, - tvb, offset, 1, desire); + static const int * flags[] = { + &hf_election_desire_flags_backup, + &hf_election_desire_flags_standby, + &hf_election_desire_flags_master, + &hf_election_desire_flags_domain_master, + &hf_election_desire_flags_wins, + &hf_election_desire_flags_nt, + NULL + }; + proto_tree_add_bitmask(parent_tree, tvb, offset, hf_election_desire, ett_browse_election_desire, flags, ENC_NA); } static void @@ -584,7 +561,7 @@ dissect_mailslot_browse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tr guint32 periodicity; guint8 *host_name; gint namelen; - guint8 server_count, reset_cmd; + guint8 server_count; guint8 os_major_ver, os_minor_ver; const gchar *windows_version; int i; @@ -765,21 +742,14 @@ dissect_mailslot_browse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tr break; case BROWSE_RESETBROWSERSTATE_ANNOUNCEMENT: { - proto_tree *sub_tree; - proto_item *reset_item; - - /* the subcommand follows ... one of three values */ - - reset_cmd = tvb_get_guint8(tvb, offset); - reset_item = proto_tree_add_uint(tree, hf_mb_reset_command, tvb, - offset, 1, reset_cmd); - sub_tree = proto_item_add_subtree(reset_item, ett_browse_reset_cmd_flags); - proto_tree_add_boolean(sub_tree, hf_mb_reset_demote, tvb, - offset, 1, reset_cmd); - proto_tree_add_boolean(sub_tree, hf_mb_reset_flush, tvb, - offset, 1, reset_cmd); - proto_tree_add_boolean(sub_tree, hf_mb_reset_stop, tvb, - offset, 1, reset_cmd); + static const int * flags[] = { + &hf_mb_reset_demote, + &hf_mb_reset_flush, + &hf_mb_reset_stop, + NULL + }; + + proto_tree_add_bitmask(tree, tvb, offset, hf_mb_reset_command, ett_browse_reset_cmd_flags, flags, ENC_NA); break; } |