Robert Shearman : rpc: Skip over the right number of bytes in new correlation descriptors.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 20 13:20:18 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 5b629e950949357bcc99fd84a7c2d593de36902c
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=5b629e950949357bcc99fd84a7c2d593de36902c

Author: Robert Shearman <rob at 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;
 }
 
 




More information about the wine-cvs mailing list