svn commit: samba r18523 - in branches/SAMBA_4_0/source: librpc/idl
pidl/lib/Parse/Pidl pidl/lib/Parse/Pidl/Samba3
jelmer at samba.org
jelmer at samba.org
Thu Sep 14 12:25:44 GMT 2006
Author: jelmer
Date: 2006-09-14 12:25:41 +0000 (Thu, 14 Sep 2006)
New Revision: 18523
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18523
Log:
Allow [out] on arrays as well as pointers, use in unixinfo.
Modified:
branches/SAMBA_4_0/source/librpc/idl/unixinfo.idl
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/unixinfo.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/unixinfo.idl 2006-09-14 12:23:02 UTC (rev 18522)
+++ branches/SAMBA_4_0/source/librpc/idl/unixinfo.idl 2006-09-14 12:25:41 UTC (rev 18523)
@@ -51,6 +51,6 @@
NTSTATUS unixinfo_GetPWUid (
[in,out,ref,range(0,1023)] uint32 *count,
[in,size_is(*count)] hyper uids[],
- [out,size_is(*count)] unixinfo_GetPWUidInfo *infos
+ [out,size_is(*count)] unixinfo_GetPWUidInfo infos[*]
);
}
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm 2006-09-14 12:23:02 UTC (rev 18522)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm 2006-09-14 12:25:41 UTC (rev 18523)
@@ -543,9 +543,10 @@
push (@{$e->{DIRECTION}}, "in") if (has_property($x, "in"));
push (@{$e->{DIRECTION}}, "out") if (has_property($x, "out"));
- nonfatal($x, "`$e->{NAME}' is [out] argument but not a pointer")
- if ($e->{LEVELS}[0]->{TYPE} ne "POINTER") and
- grep(/out/, @{$e->{DIRECTION}});
+ nonfatal($x, "`$e->{NAME}' is [out] argument but not a pointer or array")
+ if ($e->{LEVELS}[0]->{TYPE} ne "POINTER" and
+ $e->{LEVELS}[0]->{TYPE} ne "ARRAY" and
+ grep(/out/, @{$e->{DIRECTION}}));
push (@elements, $e);
}
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 2006-09-14 12:23:02 UTC (rev 18522)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 2006-09-14 12:25:41 UTC (rev 18523)
@@ -61,7 +61,7 @@
foreach my $e (@{$fn->{ELEMENTS}}) {
next unless (grep(/out/, @{$e->{DIRECTION}}));
- fatal($e, "[out] argument is not a pointer") if ($e->{LEVELS}[0]->{TYPE} ne "POINTER");
+ fatal($e, "[out] argument is not a pointer or array") if ($e->{LEVELS}[0]->{TYPE} ne "POINTER" and $e->{LEVELS}[0]->{TYPE} ne "ARRAY");
pidl "*$e->{NAME} = *r.out.$e->{NAME};";
}
More information about the samba-cvs
mailing list