summaryrefslogtreecommitdiff
path: root/source4/build/pidl/needed.pm
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-21 06:46:07 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:01 -0500
commite0d2080219c7d52559a5bbcc7294995fccbd5e52 (patch)
treeaf6f408f2aae45a64a4cdd20c7d0619ac22d21e9 /source4/build/pidl/needed.pm
parent84b5890a960a74462ca593fcc4d113e96a77a051 (diff)
downloadsamba-e0d2080219c7d52559a5bbcc7294995fccbd5e52.tar.gz
samba-e0d2080219c7d52559a5bbcc7294995fccbd5e52.tar.bz2
samba-e0d2080219c7d52559a5bbcc7294995fccbd5e52.zip
r4884: - 2nd part of support ndr_size_ generation on unions as well as structures
- added "nopull" and "nopush" flags, to allow for externally written parsers for sub-structures (This used to be commit f65f239978425de795a0e188aaad3d5d1167da32)
Diffstat (limited to 'source4/build/pidl/needed.pm')
-rw-r--r--source4/build/pidl/needed.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/source4/build/pidl/needed.pm b/source4/build/pidl/needed.pm
index 2f42ce6703..37edbef83b 100644
--- a/source4/build/pidl/needed.pm
+++ b/source4/build/pidl/needed.pm
@@ -31,6 +31,13 @@ sub NeededTypedef($)
$needed{"push_$t->{NAME}"} = 1;
}
+ if (util::has_property($t, "nopull")) {
+ $needed{"pull_$t->{NAME}"} = 0;
+ }
+ if (util::has_property($t, "nopush")) {
+ $needed{"push_$t->{NAME}"} = 0;
+ }
+
if ($t->{DATA}->{TYPE} eq "STRUCT") {
if (util::has_property($t, "gensize")) {
$needed{"ndr_size_$t->{NAME}"} = 1;
@@ -47,6 +54,10 @@ sub NeededTypedef($)
}
}
if ($t->{DATA}->{TYPE} eq "UNION") {
+ if (util::has_property($t, "gensize")) {
+ $needed{"ndr_size_$t->{NAME}"} = 1;
+ }
+
for my $e (@{$t->{DATA}->{DATA}}) {
$e->{PARENT} = $t->{DATA};
if ($e->{TYPE} eq "UNION_ELEMENT") {