Module: wine Branch: refs/heads/master Commit: c7174f9fff45837f21b75c2b5d05d38f398a8e25 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=c7174f9fff45837f21b75c2b...
Author: Eric Kohl eric.kohl@t-online.de Date: Sat Mar 18 14:33:39 2006 +0100
widl: Fix proc offset calculation.
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.
---
tools/widl/client.c | 2 ++ tools/widl/server.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/tools/widl/client.c b/tools/widl/client.c index 1dbbbc6..3197b73 100644 --- a/tools/widl/client.c +++ b/tools/widl/client.c @@ -252,6 +252,8 @@ static void write_function_stubs(type_t } 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"); diff --git a/tools/widl/server.c b/tools/widl/server.c index d1ea5f0..8cc33da 100644 --- a/tools/widl/server.c +++ b/tools/widl/server.c @@ -343,6 +343,8 @@ static void write_function_stubs(type_t } 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); }