summaryrefslogtreecommitdiff
path: root/pidl/lib/Parse/Pidl/Samba3
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-11-19 12:38:38 +0100
committerGünther Deschner <gd@samba.org>2008-11-19 21:50:02 +0100
commit2865be8a1c1d928ad86453e6dbf1c2a3508ad127 (patch)
tree04ce22a81f07d3d416ddac137adaddf25fb3101e /pidl/lib/Parse/Pidl/Samba3
parentd53219704282bc6792416796dd6398875386243e (diff)
downloadsamba-2865be8a1c1d928ad86453e6dbf1c2a3508ad127.tar.gz
samba-2865be8a1c1d928ad86453e6dbf1c2a3508ad127.tar.bz2
samba-2865be8a1c1d928ad86453e6dbf1c2a3508ad127.zip
pidl: fix generated s3-server in,out,ref qualifiers that are used for buffer allocation.
Guenther
Diffstat (limited to 'pidl/lib/Parse/Pidl/Samba3')
-rw-r--r--pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
index e5d8f1c1d2..eb3cdf20cb 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
@@ -142,6 +142,13 @@ sub ParseFunction($$)
my @dir = @{$_->{DIRECTION}};
if (grep(/in/, @dir) and grep(/out/, @dir)) {
pidl "r->out.$_->{NAME} = r->in.$_->{NAME};";
+ }
+ }
+
+ foreach (@{$fn->{ELEMENTS}}) {
+ my @dir = @{$_->{DIRECTION}};
+ if (grep(/in/, @dir) and grep(/out/, @dir)) {
+ # noop
} elsif (grep(/out/, @dir) and not
has_property($_, "represent_as")) {
AllocOutVar($_, "r", "r->out.$_->{NAME}", $env);