widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.

Only write the buffer incrementing code for the marshaling and
unmarshaling phases - buffer sizing is handled elsewhere and freeing
isn't applicable.
This commit is contained in:
Robert Shearman 2006-03-31 12:47:22 +01:00 committed by Alexandre Julliard
parent 226c8f6b52
commit 96f6a22ece
1 changed files with 25 additions and 22 deletions

View File

@ -1704,6 +1704,8 @@ void write_remoting_arguments(FILE *file, int indent, const func_t *func,
size = 0;
}
if (phase == PHASE_MARSHAL || phase == PHASE_UNMARSHAL)
{
print_file(file, indent,
"_StubMsg.Buffer = (unsigned char *)(((long)_StubMsg.Buffer + %u) & ~0x%x);\n",
size - 1, size - 1);
@ -1729,6 +1731,7 @@ void write_remoting_arguments(FILE *file, int indent, const func_t *func,
write_type(file, var->type, NULL, var->tname);
fprintf(file, ");\n");
}
}
else
{
print_file(file, indent, "NdrPointer%s(\n", function_from_phase(phase));