From 63fa5da683596c2b9ea24846ed98a96d38541bc3 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Fri, 25 Mar 2005 21:29:11 +0000 Subject: [PATCH] Generate code without L-value casts. Fix remaining issues. svn path=/trunk/; revision=14320 --- reactos/tools/widl/ChangeLog | 7 +++++++ reactos/tools/widl/client.c | 12 ++++++++++-- reactos/tools/widl/server.c | 5 ++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/reactos/tools/widl/ChangeLog b/reactos/tools/widl/ChangeLog index d77d76fafc7..35518614a4a 100644 --- a/reactos/tools/widl/ChangeLog +++ b/reactos/tools/widl/ChangeLog @@ -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 diff --git a/reactos/tools/widl/client.c b/reactos/tools/widl/client.c index da21da9495f..88fc579517f 100644 --- a/reactos/tools/widl/client.c +++ b/reactos/tools/widl/client.c @@ -613,7 +613,11 @@ static void unmarshall_out_arguments(func_t *func) 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 @@ static void unmarshall_out_arguments(func_t *func) 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"); } } diff --git a/reactos/tools/widl/server.c b/reactos/tools/widl/server.c index fb606a655eb..dfa359fefcc 100644 --- a/reactos/tools/widl/server.c +++ b/reactos/tools/widl/server.c @@ -529,7 +529,10 @@ static void unmarshall_in_arguments(func_t *func, unsigned int *type_offset) 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)