summaryrefslogtreecommitdiffstats
path: root/pidl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-09-21 23:46:01 +0200
committerStefan Metzmacher <metze@samba.org>2014-01-07 08:37:37 +0100
commit3a0fa3605b8eb995a8cc4696256129893e1f6f7e (patch)
tree0270282633be362452bd8206330b35660623f58d /pidl
parentd821661484b6f2a4a61cae3f1711cef151526dcc (diff)
downloadsamba-3a0fa3605b8eb995a8cc4696256129893e1f6f7e.tar.gz
samba-3a0fa3605b8eb995a8cc4696256129893e1f6f7e.tar.xz
samba-3a0fa3605b8eb995a8cc4696256129893e1f6f7e.zip
pidl:Samba3/ServerNDR: skip DCERPC pipe elements and leave NULL pointers.
We don't support them anyway, but this lets us adding them to the idl file and only ignore it on the server. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'pidl')
-rw-r--r--pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
index d433f60eb7d..e8d2bf9c574 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
@@ -14,7 +14,7 @@ use strict;
use Parse::Pidl qw(warning error fatal);
use Parse::Pidl::Typelist qw(mapTypeName scalar_is_reference);
use Parse::Pidl::Util qw(ParseExpr has_property is_constant);
-use Parse::Pidl::NDR qw(GetNextLevel);
+use Parse::Pidl::NDR qw(GetNextLevel ContainsPipe);
use Parse::Pidl::Samba4 qw(ElementStars DeclLong);
use Parse::Pidl::Samba4::Header qw(GenerateFunctionOutEnv);
@@ -110,6 +110,7 @@ sub CallWithStruct($$$$)
}
foreach (@{$fn->{ELEMENTS}}) {
+ next if ContainsPipe($_, $_->{LEVELS}[0]);
my @dir = @{$_->{DIRECTION}};
if (grep(/in/, @dir) and grep(/out/, @dir)) {
# noop