widl: Fix detection of structures with arrays of pointers and non-conformant strings.

Robert Shearman rob at codeweavers.com
Tue Jun 5 13:51:32 CDT 2007


---
  tools/widl/parser.y |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)
-------------- next part --------------
diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index 80e3ff7..a66dcb3 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -1507,7 +1507,7 @@ static int get_struct_type(var_list_t *f
   {
     type_t *t = field->type;
 
-    if (is_ptr(field->type))
+    if (is_ptr(field->type) && !field->array)
     {
         has_pointer = 1;
         continue;
@@ -1515,7 +1515,8 @@ static int get_struct_type(var_list_t *f
 
     if (is_string_type(field->attrs, field->type, field->array))
     {
-        has_conformance = 1;
+        if (is_conformant_array(field->array))
+            has_conformance = 1;
         has_variance = 1;
         continue;
     }


More information about the wine-patches mailing list