diff options
author | Michael Mann <mmann78@netscape.net> | 2016-12-13 07:52:38 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-04-18 05:11:27 +0000 |
commit | 85d08e58cc9be2127dfa022cf3fab32e402f04f4 (patch) | |
tree | 6f1395284469d0dec3cd29083dbfc0e50b5381b4 /tools | |
parent | 8fb828ff0cdb2bd734e8a9e8197a7a378cfaaae7 (diff) | |
download | wireshark-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-x | tools/process-x11-xcb.pl | 12 |
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 { |