Hi Metze, On Sun, 2010-08-08 at 04:08 -0500, Stefan Metzmacher wrote: > - Log ----------------------------------------------------------------- > commit ad94ae980462dc4c581a2fa1d7e927c2ae625c19 > Author: Stefan Metzmacher <[email protected]> > Date: Thu Aug 5 17:19:16 2010 +0200 > > librpc/idl/mgmt.idl: add missing size_is() > > metze > > commit 0a7f749bc80d9846b97cd22cd503473a205aaafd > Author: Stefan Metzmacher <[email protected]> > Date: Thu Aug 5 16:10:37 2010 +0200 > > pidl:NDR: correctly handle bracket arrays with 'string' > > metze > > ----------------------------------------------------------------------- > > Summary of changes: > librpc/idl/mgmt.idl | 2 +- > pidl/lib/Parse/Pidl/NDR.pm | 4 ++++ > 2 files changed, 5 insertions(+), 1 deletions(-) > > > Changeset truncated at 500 lines > > diff --git a/librpc/idl/mgmt.idl b/librpc/idl/mgmt.idl > index 35857f2..17c8cc4 100644 > --- a/librpc/idl/mgmt.idl > +++ b/librpc/idl/mgmt.idl > @@ -70,6 +70,6 @@ interface mgmt > WERROR mgmt_inq_princ_name ( > [in] uint32 authn_proto, > [in] uint32 princ_name_size, > - [out] [string,charset(DOS)] uint8 princ_name[] > + [out] [string,size_is(princ_name_size),charset(DOS)] > uint8 princ_name[] > ); > } > diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm > index c1ac600..20f52bf 100644 > --- a/pidl/lib/Parse/Pidl/NDR.pm > +++ b/pidl/lib/Parse/Pidl/NDR.pm > @@ -125,6 +125,10 @@ sub GetElementLevelTable($$) > if ($d eq "*") { > $is_conformant = 1; > if ($size = shift @size_is) { > + if (has_property($e, "string")) { > + $is_string = 1; > + delete($e->{PROPERTIES}->{string}); > + } > } elsif ((scalar(@size_is) == 0) and has_property($e, > "string")) { > $is_string = 1; > delete($e->{PROPERTIES}->{string}); This change appears to be breaking openchange:
http://buildbot.openchange.org/builders/kubuntu1004-server/builds/150/steps/compile/logs/stdio gen_ndr/ndr_exchange.c: In function ‘ndr_push_StringsArray_r’: gen_ndr/ndr_exchange.c:6530: error: expected expression before ‘;’ token gen_ndr/ndr_exchange.c:6531: error: ‘_status’ undeclared (first use in this function) gen_ndr/ndr_exchange.c:6531: error: (Each undeclared identifier is reported only once gen_ndr/ndr_exchange.c:6531: error: for each function it appears in.) gen_ndr/ndr_exchange.c:6536: error: expected expression before ‘;’ token Cheers, Jelmer
