Module: wine Branch: refs/heads/master Commit: 772eb9bdf91c9573478281bda6c6b4e76bfa3dc4 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=772eb9bdf91c9573478281bd...
Author: Robert Shearman rob@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); }