widl: Fix the length used when clearing alignment space in generated files.

Only do the clearing when marshalling a base type.
This commit is contained in:
Rob Shearman 2007-12-19 14:52:27 +00:00 committed by Alexandre Julliard
parent 57947d9f9c
commit 37c8d8ecac
1 changed files with 2 additions and 1 deletions

View File

@ -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);