[ros-diffs] [ekohl] 37470: Sync to wine-1.1.1 (Patch 3 of 10): - Rob Shearman <robertshearman at gmail.com> Tue, 1 Jul 2008 widl: Check that the structure has been defined in check_remoting_args.

ekohl at svn.reactos.org ekohl at svn.reactos.org
Wed Nov 19 22:44:03 CET 2008


Author: ekohl
Date: Wed Nov 19 15:44:03 2008
New Revision: 37470

URL: http://svn.reactos.org/svn/reactos?rev=37470&view=rev
Log:
Sync to wine-1.1.1 (Patch 3 of 10):
- Rob Shearman <robertshearman at gmail.com> Tue, 1 Jul 2008
widl: Check that the structure has been defined in check_remoting_args.

Modified:
    trunk/reactos/tools/widl/parser.tab.c
    trunk/reactos/tools/widl/parser.y

Modified: trunk/reactos/tools/widl/parser.tab.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/widl/parser.tab.c?rev=37470&r1=37469&r2=37470&view=diff
==============================================================================
--- trunk/reactos/tools/widl/parser.tab.c [iso-8859-1] (original)
+++ trunk/reactos/tools/widl/parser.tab.c [iso-8859-1] Wed Nov 19 15:44:03 2008
@@ -5924,7 +5924,12 @@
     type->checked = TRUE;
 
     if (is_struct(type->type))
-        fields = type->fields_or_args;
+    {
+        if (type->defined)
+            fields = type->fields_or_args;
+        else
+            error_loc_info(&var->loc_info, "undefined type declaration %s\n", type->name);
+    }
     else if (is_union(type->type))
     {
         if (type->type == RPC_FC_ENCAPSULATED_UNION)

Modified: trunk/reactos/tools/widl/parser.y
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/widl/parser.y?rev=37470&r1=37469&r2=37470&view=diff
==============================================================================
--- trunk/reactos/tools/widl/parser.y [iso-8859-1] (original)
+++ trunk/reactos/tools/widl/parser.y [iso-8859-1] Wed Nov 19 15:44:03 2008
@@ -2611,7 +2611,12 @@
     type->checked = TRUE;
 
     if (is_struct(type->type))
-        fields = type->fields_or_args;
+    {
+        if (type->defined)
+            fields = type->fields_or_args;
+        else
+            error_loc_info(&var->loc_info, "undefined type declaration %s\n", type->name);
+    }
     else if (is_union(type->type))
     {
         if (type->type == RPC_FC_ENCAPSULATED_UNION)



More information about the Ros-diffs mailing list