Module: wine Branch: master Commit: 0d88ba9e01330b158343559d184074e39231f05d URL: http://source.winehq.org/git/wine.git/?a=commit;h=0d88ba9e01330b158343559d18...
Author: Rob Shearman robertshearman@gmail.com Date: Tue Mar 23 13:34:03 2010 +0000
widl: Check whether an expression is a constant one before assuming it is a toplevel conformance when writing conformance or variance descriptors.
---
tools/widl/typegen.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 30d6727..bf7c662 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -985,16 +985,6 @@ static unsigned int write_conf_or_var_desc(FILE *file, const type_t *structure, return 4; }
- if (!structure) - { - /* Top-level conformance calculations are done inline. */ - print_file (file, 2, "0x%x,\t/* Corr desc: parameter */\n", - RPC_FC_TOP_LEVEL_CONFORMANCE); - print_file (file, 2, "0x0,\n"); - print_file (file, 2, "NdrFcShort(0x0),\n"); - return 4; - } - if (expr->is_const) { if (expr->cval > UCHAR_MAX * (USHRT_MAX + 1) + USHRT_MAX) @@ -1010,6 +1000,16 @@ static unsigned int write_conf_or_var_desc(FILE *file, const type_t *structure, return 4; }
+ if (!structure) + { + /* Top-level conformance calculations are done inline. */ + print_file (file, 2, "0x%x,\t/* Corr desc: parameter */\n", + RPC_FC_TOP_LEVEL_CONFORMANCE); + print_file (file, 2, "0x0,\n"); + print_file (file, 2, "NdrFcShort(0x0),\n"); + return 4; + } + if (is_ptr(type) || (is_array(type) && type_array_is_decl_as_ptr(type))) { conftype = RPC_FC_POINTER_CONFORMANCE;