Module: wine Branch: refs/heads/master Commit: 73a25d316ddec23509fdd2ff0de3e5ced680bcba URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=73a25d316ddec23509fdd2ff...
Author: Robert Shearman rob@codeweavers.com Date: Mon Dec 26 13:07:55 2005 +0100
widl: Generate correct proc format strings for [out] and [in, out] parameters.
---
tools/widl/typegen.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 5724d96..09420dc 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -96,10 +96,18 @@ static size_t write_procformatstring_var } else { + int in_attr = is_attr(var->attrs, ATTR_IN); + int out_attr = is_attr(var->attrs, ATTR_OUT); + if (is_return) print_file(file, indent, "0x52, /* FC_RETURN_PARAM */\n"); + else if (in_attr && out_attr) + print_file(file, indent, "0x50, /* FC_IN_OUT_PARAM */\n"); + else if (out_attr) + print_file(file, indent, "0x51, /* FC_OUT_PARAM */\n"); else print_file(file, indent, "0x4d, /* FC_IN_PARAM */\n"); + print_file(file, indent, "0x01,\n"); print_file(file, indent, "NdrFcShort(0x%x),\n", *type_offset); size = 4; /* includes param type prefix */