summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-12-13 07:52:38 -0500
committerAnders Broman <a.broman58@gmail.com>2017-04-18 05:11:27 +0000
commit85d08e58cc9be2127dfa022cf3fab32e402f04f4 (patch)
tree6f1395284469d0dec3cd29083dbfc0e50b5381b4 /tools
parent8fb828ff0cdb2bd734e8a9e8197a7a378cfaaae7 (diff)
downloadwireshark-85d08e58cc9be2127dfa022cf3fab32e402f04f4.tar.gz
X11: Use proto_tree_add_bitmask for generated bitmasks
Change-Id: Idc95500b74452911117be8903fe0bde0c8a6fefa Reviewed-on: https://code.wireshark.org/review/21173 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/process-x11-xcb.pl12
1 files changed, 5 insertions, 7 deletions
diff --git a/tools/process-x11-xcb.pl b/tools/process-x11-xcb.pl
index 6631380e8e..c7134d1f81 100755
--- a/tools/process-x11-xcb.pl
+++ b/tools/process-x11-xcb.pl
@@ -811,19 +811,17 @@ sub dissect_element($$$$$;$$)
if ($refref->{field}{$fieldname}) {
say $impl $indent."f_$fieldname = $get(tvb, *offsetp);";
}
+ my $bitmask_field = $fieldname . "_bits";
say $impl $indent."{";
- say $impl $indent." proto_item *ti = proto_tree_add_item(t, $regname, tvb, *offsetp, $size, $encoding);";
- say $impl $indent." proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);";
-
- my $bytesize = $info->{'size'};
- my $byteencoding = $info->{'encoding'};
+ say $impl $indent." const int* $bitmask_field [] = {";
my $bit = $enum{$enum_name{$e->att('mask')}}{bit};
for my $val (sort { $a <=> $b } keys %$bit) {
my $item = $regname . '_mask_' . $$bit{$val};
-
- say $impl "$indent proto_tree_add_item(bitmask_tree, $item, tvb, *offsetp, $bytesize, $byteencoding);";
+ say $impl "$indent$indent&$item,";
}
+ say $impl $indent." };";
+ say $impl $indent." proto_tree_add_bitmask(t, tvb, *offsetp, $regname, ett_x11_rectangle, $bitmask_field, $encoding);";
say $impl $indent."}";
say $impl $indent."*offsetp += $size;";
} else {