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