]> andersk Git - splint.git/blobdiff - src/uentryList.c
Remove empty configure file. This should not be in CVS.
[splint.git] / src / uentryList.c
index f0b662c4d90dc469afb8d807fbf253000f50f8b3..96951d631248e8aa46ae8088da90ead99abddf52 100644 (file)
@@ -17,8 +17,8 @@
 ** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 ** MA 02111-1307, USA.
 **
-** For information on splint: splint@cs.virginia.edu
-** To report a bug: splint-bug@cs.virginia.edu
+** For information on splint: info@splint.org
+** To report a bug: splint-bug@splint.org
 ** For more information: http://www.splint.org
 */
 /*
@@ -229,7 +229,7 @@ uentryList_unparseAbbrev (uentryList p)
   if (uentryList_size (p) == 0)
     return cstring_makeLiteral ("void");
 
-  for (i = 0; i < p->nelements && i < PRINTBREADTH; i++)
+  for (i = 0; i < p->nelements && i < uentryList_abbrevBreadth; i++)
     {
       if (first)
        {
@@ -702,6 +702,26 @@ uentryList_lookupField (uentryList f, cstring name)
     }
   else
     {
+      uentryList_elements (f, el)
+       {
+         if (uentry_isUnnamedVariable (el))
+           {
+             ctype ct = uentry_getType (el);
+
+             if (ctype_isStruct (ct) || ctype_isUnion (ct))
+               {
+                 uentryList fields = ctype_getFields (ct);
+                 uentry ue = uentryList_lookupField (fields, name);
+
+                 if (uentry_isValid (ue))
+                   {
+                     return ue;
+                   }
+               }
+           }
+       }
+      end_uentryList_elements ;
+
       return uentry_undefined;
     }
 }
@@ -709,6 +729,8 @@ uentryList_lookupField (uentryList f, cstring name)
 /*@only@*/ uentryList
   uentryList_mergeFields (/*@only@*/ uentryList f1, /*@only@*/ uentryList f2)
 {
+  DPRINTF (("Merge: %s + %s", uentryList_unparse (f1), uentryList_unparse (f2)));
+
   if (uentryList_isUndefined (f1))
     {
       return  (f2);
This page took 0.096789 seconds and 4 git commands to generate.