From 37c8d8ecacb56bac37eabe366835698fdec1b153 Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Wed, 19 Dec 2007 14:52:27 +0000 Subject: [PATCH] widl: Fix the length used when clearing alignment space in generated files. Only do the clearing when marshalling a base type. --- tools/widl/typegen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 8875968f8fa..b0edc29f7dc 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -2553,7 +2553,8 @@ void print_phase_basetype(FILE *file, int indent, enum remoting_phase phase, size = 0; } - print_file(file, indent, "memset(_StubMsg.Buffer, 0, ((long)_StubMsg.Buffer) & 0x%x);\n", alignment - 1); + if (phase == PHASE_MARSHAL) + print_file(file, indent, "MIDL_memset(_StubMsg.Buffer, 0, (0x%x - (long)_StubMsg.Buffer) & 0x%x);\n", alignment, alignment - 1); print_file(file, indent, "_StubMsg.Buffer = (unsigned char *)(((long)_StubMsg.Buffer + %u) & ~0x%x);\n", alignment - 1, alignment - 1);