svn commit: samba r25674 - in branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3: .

Stefan (metze) Metzmacher metze at samba.org
Thu Oct 18 10:48:15 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Rafal Szczesniak schrieb:
> On Wed, Oct 17, 2007 at 08:26:55AM +0000, metze at samba.org wrote:
>> Author: metze
>> Date: 2007-10-17 08:26:55 +0000 (Wed, 17 Oct 2007)
>> New Revision: 25674
>>
>> WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25674
>>
> [...]
>> I've tested with midl to see how windows handles this situation
>> and also the reverse case where the client sends NULL and
>> the server reposnse with non-NULL.
>>
>> It appears that midl generated code just ignores this
>> and only copies the result if both pointers are non-NULL.
> 
> Did midl ignore all cases but the one where both pointers were non-NULL
> at the same time ? I'm not sure right now, but midl shouldn't have
> problems with [in,out] pointer set to NULL on either "in" or "out"
> direction (as long as it's not "ref" pointer).

with this idl:

void fn01([in,out,unique] long *v);

the client application has this prototype available:

void fn01(long *v);

So if the client application passes NULL, it won't be able
to get the value if the server reponses with a non-NULL pointer.

If the client application passes non-NULL and the server reponses
with NULL, the client apps was no way to find out if the server,
returned NULL or just echoed back the value from the client.

And now the samba3 client stubs do the same.

metze
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFHFznvm70gjA5TCD8RAgciAKCs1HXvtmV887LP03+cviM+Wz++0QCfSiFM
hagOV2SUXh4UnMcItLxuZls=
=5s+A
-----END PGP SIGNATURE-----


More information about the samba-technical mailing list