Rob Shearman : widl: Fix the length used when clearing alignment space in generated files.
Alexandre Julliard
julliard at winehq.org
Thu Dec 20 06:21:36 CST 2007
Module: wine
Branch: master
Commit: 37c8d8ecacb56bac37eabe366835698fdec1b153
URL: http://source.winehq.org/git/wine.git/?a=commit;h=37c8d8ecacb56bac37eabe366835698fdec1b153
Author: Rob Shearman <rob at 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);
More information about the wine-cvs
mailing list