[PIDL] support for multilevel pointers and arrays and embedded ref pointers

Jelmer Vernooij jelmer at samba.org
Fri Feb 8 13:33:13 GMT 2008


Am Sonntag, den 03.02.2008, 02:56 +0100 schrieb Stefan (metze)
Metzmacher:
> I've done some more testing with my patch to correctly support
> multilevel pointers.
> 
> We already found that the 2nd and higher levels get the
> pointer_default() value instead of the specified pointer type.
> So '[ref] uint32 **v' means a ref pointer to a unique pointer
> to an uint32 value.
> 
> But I needed to change that IS_DEFERRED to 1 for the 2nd and higher
> level (of the pointers which are encoded on the wire):
> 
> [out,ref] uint8 ****v
> here the 3rd and higher levels should have IS_DEFERRED = 1
> 
> [out,unique] uint8 ****v
> here the 2nd and higher levels should have IS_DEFERRED = 1
> 
> Take a look at the ndr parser code that is generated for
> wkssvc_NetrGetJoinableOus[2]. The current code for 'ous' will never
> parse the real content it will stop after parsing the first unique
> pointer level.
> 
> Please take a look at this branch:
> http://gitweb.samba.org/?p=metze/samba/wb-ndr.git;a=shortlog;h=v4-0-pidl
> (I'll fix the commit messages before I'll push this...)
Nice work! This is really awesome stuff.

+1

Cheers,

Jelmer
-- 
Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/
Jabber: jelmer at jabber.fsfe.org


More information about the samba-technical mailing list