Module: wine Branch: master Commit: 37c8d8ecacb56bac37eabe366835698fdec1b153 URL: http://source.winehq.org/git/wine.git/?a=commit;h=37c8d8ecacb56bac37eabe3668...
Author: Rob Shearman rob@codeweavers.com Date: Wed Dec 19 14:52:27 2007 +0000
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 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 8875968..b0edc29 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);