Rob Shearman : widl: Check whether an expression is a constant one before assuming it is a toplevel conformance when writing conformance or variance descriptors .

Alexandre Julliard julliard at winehq.org
Tue Mar 23 12:12:51 CDT 2010


Module: wine
Branch: master
Commit: 0d88ba9e01330b158343559d184074e39231f05d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0d88ba9e01330b158343559d184074e39231f05d

Author: Rob Shearman <robertshearman at 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;




More information about the wine-cvs mailing list