Robert Shearman : widl: Zero initialize parameters in the generated
server code.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Dec 12 06:45:03 CST 2005
Module: wine
Branch: refs/heads/master
Commit: 759e3c9fe3b9012937227e1618d33f492a506ccc
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=759e3c9fe3b9012937227e1618d33f492a506ccc
Author: Robert Shearman <rob at 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++;
More information about the wine-cvs
mailing list