Rob Shearman : widl: Fix the length used when clearing alignment space in generated files.
Module: wine Branch: master Commit: 37c8d8ecacb56bac37eabe366835698fdec1b153 URL: http://source.winehq.org/git/wine.git/?a=commit;h=37c8d8ecacb56bac37eabe3668... Author: Rob Shearman <rob(a)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);
participants (1)
-
Alexandre Julliard