From 4e2b462d4f6c8058be382575da656f7cd7909ac9 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Tue, 7 Nov 2006 22:01:45 +0100 Subject: [PATCH] rpcrt4: For Win64 compatibility use a temp variable of the right type in ComputeVariance(). --- dlls/rpcrt4/ndr_misc.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/rpcrt4/ndr_misc.h b/dlls/rpcrt4/ndr_misc.h index a1560b92957..b5c3d889ccc 100644 --- a/dlls/rpcrt4/ndr_misc.h +++ b/dlls/rpcrt4/ndr_misc.h @@ -41,8 +41,13 @@ static inline PFORMAT_STRING ComputeConformance(PMIDL_STUB_MESSAGE pStubMsg, uns static inline PFORMAT_STRING ComputeVariance(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, ULONG def) { + PFORMAT_STRING ret; + ULONG_PTR ActualCount = pStubMsg->ActualCount; + pStubMsg->Offset = 0; - return ComputeConformanceOrVariance(pStubMsg, pMemory, pFormat, def, &pStubMsg->ActualCount); + ret = ComputeConformanceOrVariance(pStubMsg, pMemory, pFormat, def, &ActualCount); + pStubMsg->ActualCount = (ULONG)ActualCount; + return ret; } typedef unsigned char* (WINAPI *NDR_MARSHALL) (PMIDL_STUB_MESSAGE, unsigned char*, PFORMAT_STRING);