Alexandre Julliard : rpcrt4: Add support for 64-bit conformance values.

Alexandre Julliard julliard at winehq.org
Fri Jun 17 13:13:47 CDT 2011


Module: wine
Branch: master
Commit: 4f247d3130b1a9299ecb20cd7bcac26f4e7b83c1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f247d3130b1a9299ecb20cd7bcac26f4e7b83c1

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jun 17 14:11:12 2011 +0200

rpcrt4: Add support for 64-bit conformance values.

---

 dlls/rpcrt4/ndr_marshall.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c
index c62675d..85d0a3c 100644
--- a/dlls/rpcrt4/ndr_marshall.c
+++ b/dlls/rpcrt4/ndr_marshall.c
@@ -536,7 +536,7 @@ PFORMAT_STRING ComputeConformanceOrVariance(
   BYTE dtype = pFormat[0] & 0xf;
   short ofs = *(const short *)&pFormat[2];
   LPVOID ptr = NULL;
-  DWORD data = 0;
+  ULONG_PTR data = 0;
 
   if (!IsConformanceOrVariancePresent(pFormat)) {
     /* null descriptor */
@@ -565,7 +565,7 @@ PFORMAT_STRING ComputeConformanceOrVariance(
     break;
   case RPC_FC_CONSTANT_CONFORMANCE:
     data = ofs | ((DWORD)pFormat[1] << 16);
-    TRACE("constant conformance, val=%d\n", data);
+    TRACE("constant conformance, val=%ld\n", data);
     *pCount = data;
     goto finish_conf;
   case RPC_FC_TOP_LEVEL_MULTID_CONFORMANCE:
@@ -630,11 +630,14 @@ PFORMAT_STRING ComputeConformanceOrVariance(
   case RPC_FC_USMALL:
     data = *(UCHAR*)ptr;
     break;
+  case RPC_FC_HYPER:
+    data = *(ULONGLONG *)ptr;
+    break;
   default:
     FIXME("unknown conformance data type %x\n", dtype);
     goto done_conf_grab;
   }
-  TRACE("dereferenced data type %x at %p, got %d\n", dtype, ptr, data);
+  TRACE("dereferenced data type %x at %p, got %ld\n", dtype, ptr, data);
 
 done_conf_grab:
   switch (pFormat[1]) {




More information about the wine-cvs mailing list