Module: wine Branch: refs/heads/master Commit: 759e3c9fe3b9012937227e1618d33f492a506ccc URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=759e3c9fe3b9012937227e16...
Author: Robert Shearman rob@codeweavers.com Date: Mon Dec 12 12:13:43 2005 +0100
widl: Zero initialize parameters in the generated server code. Zero initialize parameters in the generated code. Based on a patch by Eric Kohl.
---
tools/widl/server.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/tools/widl/server.c b/tools/widl/server.c index 2ddbc41..2abfe83 100644 --- a/tools/widl/server.c +++ b/tools/widl/server.c @@ -68,6 +68,25 @@ static int print_server(const char *form }
+static void write_parameters_init(func_t *func) +{ + var_t *var; + + if (!func->args) + return; + + var = func->args; + while (NEXT_LINK(var)) var = NEXT_LINK(var); + while (var) + { + print_server("%s = 0;\n", var->name); + + var = PREV_LINK(var); + } + fprintf(server, "\n"); +} + + static void write_function_stubs(type_t *iface) { func_t *func = iface->funcs; @@ -131,6 +150,8 @@ static void write_function_stubs(type_t indent--; fprintf(server, "\n");
+ write_parameters_init(func); + print_server("RpcTryFinally\n"); print_server("{\n"); indent++;