Alexandre Julliard : rpcrt4: Fix handling of complex types of return values on the client side.
Alexandre Julliard
julliard at winehq.org
Mon Jun 13 11:49:17 CDT 2011
Module: wine
Branch: master
Commit: b0f858607893c46312277abda3d15c8f4ca7a59c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0f858607893c46312277abda3d15c8f4ca7a59c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jun 10 15:11:40 2011 +0200
rpcrt4: Fix handling of complex types of return values on the client side.
---
dlls/rpcrt4/ndr_stubless.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c
index 436dccf..f508c9e 100644
--- a/dlls/rpcrt4/ndr_stubless.c
+++ b/dlls/rpcrt4/ndr_stubless.c
@@ -332,11 +332,8 @@ static void client_do_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat,
case PROXY_UNMARSHAL:
if (pParam->param_attributes.IsOut)
{
- if (pParam->param_attributes.IsReturn)
- call_unmarshaller(pStubMsg, &pRetVal, pTypeFormat, 0);
- else
- call_unmarshaller(pStubMsg, &pArg, pTypeFormat, 0);
- TRACE("pRetVal = %p\n", pRetVal);
+ if (pParam->param_attributes.IsReturn) pArg = pRetVal;
+ call_unmarshaller(pStubMsg, &pArg, pTypeFormat, 0);
}
break;
default:
@@ -386,9 +383,8 @@ static void client_do_args(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat,
case PROXY_UNMARSHAL:
if (pParam->param_attributes.IsOut)
{
- if (pParam->param_attributes.IsReturn)
- call_unmarshaller(pStubMsg, &pRetVal, pTypeFormat, 0);
- else if (pParam->param_attributes.IsByValue)
+ if (pParam->param_attributes.IsReturn) pArg = pRetVal;
+ if (pParam->param_attributes.IsByValue)
call_unmarshaller(pStubMsg, &pArg, pTypeFormat, 0);
else
call_unmarshaller(pStubMsg, (unsigned char **)pArg, pTypeFormat, 0);
More information about the wine-cvs
mailing list