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