pidl hacks
authorStefan Metzmacher <metze@samba.org>
Wed, 25 Aug 2010 09:01:01 +0000 (11:01 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 26 Aug 2010 06:49:43 +0000 (08:49 +0200)
librpc/build_idl.sh
librpc/idl/samr.idl
pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
source3/script/build_idl.sh

index c335557d870deb1a2e60318a9a4acfa51135d069..ca831c47a364b4be01c99593b607dfbed3d8f427 100755 (executable)
@@ -7,7 +7,7 @@ else
        FULL=0
 fi
 
-ARGS="--outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client --server --client --python --dcom-proxy --com-header $PIDL_ARGS --"
+ARGS="--outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client --server --client --python --dcom-proxy --com-header --dump-ndr-tree $PIDL_ARGS --"
 IDL_FILES="$*"
 
 oldpwd=`pwd`
index d977ddd427562aa4522c3fc3a7c1a279ea3407a3..74ab0716a383280b9e7f5f7195e62523dd90fde8 100644 (file)
@@ -535,7 +535,11 @@ import "misc.idl", "lsa.idl", "security.idl";
        NTSTATUS samr_GetAliasMembership(
                [in,ref]      policy_handle *domain_handle,
                [in,ref]      lsa_SidArray  *sids,
-               [out,ref]     samr_Ids *rids
+               [out,ref]     samr_Ids *rids,
+               [in,out,ref] uint16 *size,
+               [in,out,ref] uint16 *len,
+               [out,ref,size_is(*size),length_is(*len), charset(UTF16)] uint16 *bla,
+               [in,out,ref,string,charset(UTF16)] uint16 *metze
                );
 
        /************************/
index bd2616a7993ce6912a1ba97cf65dc0b69cf3b95d..5cb1c8290c55d88de49360189d05a50a846e922e 100644 (file)
@@ -758,6 +758,7 @@ sub ParseFunction($$$)
                        } elsif ($e->{LEVELS}[1]->{TYPE} eq "ARRAY" and
                                 $e->{LEVELS}[1]->{IS_ZERO_TERMINATED}) {
                                next;
+                               $reason = "is a pointer to an unsized array";
                        } elsif ($e->{LEVELS}[1]->{TYPE} eq "ARRAY" and
                                 not defined($e->{LEVELS}[1]->{SIZE_IS})) {
                                $reason = "is a pointer to an unsized array";
index 8f885887654b34438c30f9e8e2e43a14950595d2..6c6a5f8ada9f8210f6858f8c4884397a61fcbdc7 100755 (executable)
@@ -7,7 +7,7 @@ else
        FULL=0
 fi
 
-ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client $PIDL_ARGS --"
+ARGS="--includedir=../librpc/idl --outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client --dump-ndr-tree $PIDL_ARGS --"
 IDL_FILES="$*"
 
 oldpwd=`pwd`