diff options
Diffstat (limited to 'source4/build/pidl')
-rw-r--r-- | source4/build/pidl/eparser.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source4/build/pidl/eparser.pm b/source4/build/pidl/eparser.pm index 8075e42cb9..ab8904ab9d 100644 --- a/source4/build/pidl/eparser.pm +++ b/source4/build/pidl/eparser.pm @@ -319,6 +319,8 @@ sub NeededTypedef($) 'bitmask' => "$2" }; } + + $needed{"ett_$t->{NAME}"} = 1; } } @@ -645,10 +647,13 @@ sub RewriteC($$$) pidl $_; if (defined($bitmaps{$cur_fn})) { + pidl "\t{\n\t\tproto_tree *subtree = NULL;\n\n"; + pidl "\t\tif (tree->proto_tree)\n\t\t\tsubtree = proto_item_add_subtree(tree->proto_tree->last_child, ett_$cur_fn);\n\n"; foreach my $e (@{$bitmaps{$cur_fn}->{DATA}{ELEMENTS}}) { $e =~ /^(.*?) \( (.*?) \)$/; - pidl "\tproto_tree_add_boolean(tree->proto_tree, hf_${cur_fn}_$1, ndr->tvb, ndr->offset - sizeof(v), sizeof(v), v);\n"; + pidl "\t\tproto_tree_add_boolean(subtree, hf_${cur_fn}_$1, ndr->tvb, ndr->offset - sizeof(v), sizeof(v), v);\n"; } + pidl "\t}\n"; } next; |