Module: wine Branch: master Commit: 976cd5c9fee029ab0eb8190f738a80ab6703fe4d URL: http://source.winehq.org/git/wine.git/?a=commit;h=976cd5c9fee029ab0eb8190f73...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Jul 29 12:08:47 2011 +0200
rpcrt4: Support sizing of a few more argument types.
---
dlls/rpcrt4/ndr_stubless.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c index 243a0af..4e00269 100644 --- a/dlls/rpcrt4/ndr_stubless.c +++ b/dlls/rpcrt4/ndr_stubless.c @@ -150,6 +150,7 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat) switch(*pFormat) { case RPC_FC_STRUCT: + case RPC_FC_PSTRUCT: size = *(const WORD*)(pFormat + 2); break; case RPC_FC_BOGUS_STRUCT: @@ -178,6 +179,15 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat) size = ComplexStructSize(pStubMsg, pFormat); size *= pStubMsg->MaxCount; break; + case RPC_FC_USER_MARSHAL: + size = *(const WORD*)(pFormat + 4); + break; + case RPC_FC_CSTRING: + size = *(const WORD*)(pFormat + 2); + break; + case RPC_FC_WSTRING: + size = *(const WORD*)(pFormat + 2) * sizeof(WCHAR); + break; case RPC_FC_C_CSTRING: case RPC_FC_C_WSTRING: if (*pFormat == RPC_FC_C_CSTRING)