Module: wine Branch: refs/heads/master Commit: 5b629e950949357bcc99fd84a7c2d593de36902c URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=5b629e950949357bcc99fd84...
Author: Robert Shearman rob@codeweavers.com Date: Fri Jan 20 16:15:11 2006 +0100
rpc: Skip over the right number of bytes in new correlation descriptors. Skip over 6 bytes of the format descriptor if new correlation descriptors are being used, instead of 4.
---
dlls/rpcrt4/ndr_marshall.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c index 6a681a7..3045b42 100644 --- a/dlls/rpcrt4/ndr_marshall.c +++ b/dlls/rpcrt4/ndr_marshall.c @@ -310,7 +310,10 @@ PFORMAT_STRING ReadConformance(MIDL_STUB pStubMsg->MaxCount = NDR_LOCAL_UINT32_READ(pStubMsg->Buffer); pStubMsg->Buffer += 4; TRACE("unmarshalled conformance is %ld\n", pStubMsg->MaxCount); - return pFormat+4; + if (pStubMsg->fHasNewCorrDesc) + return pFormat+6; + else + return pFormat+4; }
static inline PFORMAT_STRING ReadVariance(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat) @@ -330,7 +333,10 @@ static inline PFORMAT_STRING ReadVarianc TRACE("variance is %ld\n", pStubMsg->ActualCount);
done: - return pFormat+4; + if (pStubMsg->fHasNewCorrDesc) + return pFormat+6; + else + return pFormat+4; }
PFORMAT_STRING ComputeConformanceOrVariance( @@ -444,7 +450,10 @@ done_conf_grab:
finish_conf: TRACE("resulting conformance is %ld\n", *pCount); - return pFormat+4; + if (pStubMsg->fHasNewCorrDesc) + return pFormat+6; + else + return pFormat+4; }