dump_value__() recursive case even more sane
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2014 06:56:37 +0000 (22:56 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2014 06:56:37 +0000 (22:56 -0800)
dump.c

diff --git a/dump.c b/dump.c
index fceaabb24a3a8ae46f98fbc0fa2b5f9e43692c34..34270b962ae0e09ab0cdfb2c83dfa9c4e2ac2d9e 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -282,30 +282,26 @@ dump_value__(int level, bool match1)
 
       int x = get_u32();
       printf ("\"%s\" with %d variables:\n", base, x);
-      if (match_u32(0))
+      for (int i = 0; i < x; i++)
         {
-          for (int i = 0; i < x; i++)
+          int y = get_u32();
+          if (!y)
+            y = 1;
+          else
+            match_u32_assert(0);
+          for (int j = 0; j <= level; j++)
+            printf ("    ");
+          printf("variable %d has %d values:\n", i, y);
+          for (int j = 0; j < y; j++)
             {
-              dump_value (level+1, match1);
+              match_byte(0);
+              match_byte(0);
+              match_byte(0);
+              match_byte(0);
+              dump_value__ (level+1, false);
               putchar('\n');
             }
         }
-      else
-        {
-          for (int i = 0; i < x; i++)
-            {
-              int y = get_u32();
-              match_u32_assert(0);
-              for (int j = 0; j <= level; j++)
-                printf ("    ");
-              printf("variable %d has %d values:\n", i, y);
-              for (int j = 0; j < y; j++)
-                {
-                  dump_value (level+1, false);
-                  putchar('\n');
-                }
-            }
-        }
     }
 }