summaryrefslogtreecommitdiff
path: root/source4/pidl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-09-19 22:18:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:19:02 -0500
commit1463ca1d2bafd5eff003cb4dbb5671e5e8afe80a (patch)
tree03a55bff18fec6c3e237127ebb270baa920a71d4 /source4/pidl
parent000698d643d4cbffac0f6960f6281c0d4d5df3b9 (diff)
downloadsamba-1463ca1d2bafd5eff003cb4dbb5671e5e8afe80a.tar.gz
samba-1463ca1d2bafd5eff003cb4dbb5671e5e8afe80a.tar.bz2
samba-1463ca1d2bafd5eff003cb4dbb5671e5e8afe80a.zip
r18689: Initialize r.out in the server side code, in case the handler function
doesn't touch them. (This used to be commit 2ac2c7ca60c70d70a07162c63bfb492c74816c7c)
Diffstat (limited to 'source4/pidl')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm b/source4/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
index 4d3dba2e0e..8ef4529402 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
@@ -82,11 +82,15 @@ sub ParseFunction($$)
pidl "";
my %env = ();
+ my $hasout = 0;
foreach (@{$fn->{ELEMENTS}}) {
+ if (grep(/out/, @{$_->{DIRECTION}})) { $hasout = 1; }
next unless (grep (/in/, @{$_->{DIRECTION}}));
$env{$_->{NAME}} = "r.in.$_->{NAME}";
}
+ pidl "ZERO_STRUCT(r.out);" if ($hasout);
+
my $proto = "_$fn->{NAME}(pipes_struct *p";
my $ret = "_$fn->{NAME}(p";
foreach (@{$fn->{ELEMENTS}}) {