Generate code without L-value casts. Fix remaining issues. Modified: trunk/reactos/tools/widl/ChangeLog Modified: trunk/reactos/tools/widl/client.c Modified: trunk/reactos/tools/widl/server.c _____
Modified: trunk/reactos/tools/widl/ChangeLog --- trunk/reactos/tools/widl/ChangeLog 2005-03-25 19:34:26 UTC (rev 14319) +++ trunk/reactos/tools/widl/ChangeLog 2005-03-25 21:29:11 UTC (rev 14320) @@ -1,5 +1,12 @@
ChangeLog
+2005-03-25 ekohl + + tools/widl/client.c + tools/widl/server.c + +Generate code without L-value casts. Fix remaining issues. + 2005-03-21 navaraf
tools/widl/client.c _____
Modified: trunk/reactos/tools/widl/client.c --- trunk/reactos/tools/widl/client.c 2005-03-25 19:34:26 UTC (rev 14319) +++ trunk/reactos/tools/widl/client.c 2005-03-25 21:29:11 UTC (rev 14320) @@ -613,7 +613,11 @@
write_name(client, var); fprintf(client, " = *(("); write_type(client, var->type, NULL, var->tname); - fprintf(client, " __RPC_FAR *)_StubMsg.Buffer)++;\n"); + fprintf(client, " __RPC_FAR *)_StubMsg.Buffer);\n"); + + print_client("_StubMsg.Buffer += sizeof("); + write_type(client, var->type, NULL, var->tname); + fprintf(client, ");\n"); }
last_size = size; @@ -659,7 +663,11 @@ print_client("_StubMsg.Buffer += %u;\n", alignment); print_client("_RetVal = *(("); write_type(client, def->type, def, def->tname); - fprintf(client, " __RPC_FAR *)_StubMsg.Buffer)++;\n"); + fprintf(client, " __RPC_FAR *)_StubMsg.Buffer);\n"); + + print_client("_StubMsg.Buffer += sizeof("); + write_type(client, def->type, def, def->tname); + fprintf(client, ");\n"); } }
_____
Modified: trunk/reactos/tools/widl/server.c --- trunk/reactos/tools/widl/server.c 2005-03-25 19:34:26 UTC (rev 14319) +++ trunk/reactos/tools/widl/server.c 2005-03-25 21:29:11 UTC (rev 14320) @@ -529,7 +529,10 @@
write_name(server, var); fprintf(server, " = *(("); write_type(server, var->type, NULL, var->tname); - fprintf(server, " __RPC_FAR*)_StubMsg.Buffer)++;\n"); + fprintf(server, " __RPC_FAR*)_StubMsg.Buffer);\n"); + print_server("_StubMsg.Buffer += sizeof("); + write_type(server, var->type, NULL, var->tname); + fprintf(server, ");\n"); fprintf(server, "\n"); } else if (var->ptr_level == 1)