Robert Shearman : rpcrt4: Implement NdrConformantVaryingArrayFree.

Alexandre Julliard julliard at wine.codeweavers.com
Sun May 7 03:36:32 CDT 2006


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

Author: Robert Shearman <rob at codeweavers.com>
Date:   Mon May  1 10:38:02 2006 +0100

rpcrt4: Implement NdrConformantVaryingArrayFree.

---

 dlls/rpcrt4/ndr_marshall.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c
index 1448334..871bb57 100644
--- a/dlls/rpcrt4/ndr_marshall.c
+++ b/dlls/rpcrt4/ndr_marshall.c
@@ -2088,7 +2088,19 @@ void WINAPI NdrConformantVaryingArrayFre
                                            unsigned char* pMemory,
                                            PFORMAT_STRING pFormat )
 {
-    FIXME( "stub\n" );
+    TRACE("(%p,%p,%p)\n", pStubMsg, pMemory, pFormat);
+
+    if (pFormat[0] != RPC_FC_CVARRAY)
+    {
+        ERR("invalid format type %x\n", pFormat[0]);
+        RpcRaiseException(RPC_S_INTERNAL_ERROR);
+        return;
+    }
+
+    pFormat = ComputeConformance(pStubMsg, pMemory, pFormat+4, 0);
+    pFormat = ComputeVariance(pStubMsg, pMemory, pFormat, 0);
+
+    EmbeddedPointerFree(pStubMsg, pMemory, pFormat);
 }
 
 




More information about the wine-cvs mailing list