[WIDL 2/3] Fix proc offset calculation

Eric Kohl eric.kohl at t-online.de
Sat Mar 18 07:33:39 CST 2006


ChangeLog:
Eric Kohl <eric.kohl at t-online.de>
A void return type is represented by a FC_END/FC_PAD sequence in the
proc format string. Increment the proc offset by two when a function
returns void.

-------------- next part --------------
Index: tools/widl/client.c
===================================================================
RCS file: /home/wine/wine/tools/widl/client.c,v
retrieving revision 1.24
diff -u -r1.24 client.c
--- tools/widl/client.c	7 Feb 2006 12:09:51 -0000	1.24
+++ tools/widl/client.c	18 Mar 2006 11:23:40 -0000
@@ -252,6 +252,8 @@
         }
         if (!is_void(def->type, NULL))
             proc_offset += get_size_procformatstring_var(def);
+        else
+            proc_offset += 2; /* FC_END and FC_PAD */

         indent--;
         print_client("}\n");
Index: tools/widl/server.c
===================================================================
RCS file: /home/wine/wine/tools/widl/server.c,v
retrieving revision 1.26
diff -u -r1.26 server.c
--- tools/widl/server.c	7 Feb 2006 12:09:51 -0000	1.26
+++ tools/widl/server.c	18 Mar 2006 11:23:45 -0000
@@ -343,6 +343,8 @@
         }
         if (!is_void(def->type, NULL))
             proc_offset += get_size_procformatstring_var(def);
+        else
+            proc_offset += 2; /* FC_END and FC_PAD */

         func = PREV_LINK(func);
     }



More information about the wine-patches mailing list