From 9ce356c966b79f33e2d537521dc22191aad642af Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Sat, 14 Jun 2008 16:31:46 +0100 Subject: [PATCH] rpcrt4: Save the previous BufferLength in test_ndr_buffer and use it when testing the expected buffer length after the NdrFreeBuffer call. This fixes a test failure on Win2003 upwards when the allocated length appears to be rounded up to a multiple of 4. --- dlls/rpcrt4/tests/ndr_marshall.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/rpcrt4/tests/ndr_marshall.c b/dlls/rpcrt4/tests/ndr_marshall.c index 3683027d83..84a38918ac 100644 --- a/dlls/rpcrt4/tests/ndr_marshall.c +++ b/dlls/rpcrt4/tests/ndr_marshall.c @@ -1795,6 +1795,7 @@ static void test_ndr_buffer(void) unsigned char *binding; RPC_BINDING_HANDLE Handle; RPC_STATUS status; + ULONG prev_buffer_length; StubDesc.RpcInterfaceInformation = (void *)&IFoo___RpcServerInterface; @@ -1832,11 +1833,12 @@ todo_wine ok(StubMsg.BufferLength == 0, "BufferLength should have left as 0 instead of being set to %d\n", StubMsg.BufferLength); ok(StubMsg.fBufferValid == TRUE, "fBufferValid should have been TRUE instead of 0x%x\n", StubMsg.fBufferValid); + prev_buffer_length = RpcMessage.BufferLength; StubMsg.BufferLength = 1; NdrFreeBuffer(&StubMsg); ok(RpcMessage.Handle != NULL, "RpcMessage.Handle should not have been NULL\n"); ok(RpcMessage.Buffer != NULL, "RpcMessage.Buffer should not have been NULL\n"); - ok(RpcMessage.BufferLength == 10, "RpcMessage.BufferLength should have been left as 10 instead of %d\n", RpcMessage.BufferLength); + ok(RpcMessage.BufferLength == prev_buffer_length, "RpcMessage.BufferLength should have been left as %d instead of %d\n", prev_buffer_length, RpcMessage.BufferLength); ok(StubMsg.Buffer != NULL, "Buffer should not have been NULL\n"); ok(StubMsg.BufferLength == 1, "BufferLength should have left as 1 instead of being set to %d\n", StubMsg.BufferLength); ok(StubMsg.fBufferValid == FALSE, "fBufferValid should have been FALSE instead of 0x%x\n", StubMsg.fBufferValid);