got tdump5 to pass
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 19 Oct 2014 17:29:50 +0000 (10:29 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 19 Oct 2014 17:29:50 +0000 (10:29 -0700)
dump.c

diff --git a/dump.c b/dump.c
index 5801c15c6b9f135465ec3e6d4e95d50f6bc6c372..dab02a412079dd5487ba0fa772556f8bedb41c71 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -152,16 +152,18 @@ dump_category(int level)
   else if (match_byte (2))
     {
       unsigned int format;
+      char *var, *vallab;
       double value;
-      char *var;
 
       match_byte_assert (0x58);
       format = get_u32 ();
       value = get_double ();
       var = get_string ();
-      get_string ();
-      printf ("value %g format %d(%d.%d) var \"%s\"", value, format >> 16, (format >> 8) & 0xff, format & 0xff, var);
-      match_u32_assert (3);
+      vallab = get_string ();
+      printf ("value %g format %d(%d.%d) var \"%s\" vallab \"%s\"",
+              value, format >> 16, (format >> 8) & 0xff, format & 0xff, var, vallab);
+      if (!match_u32 (3))
+        match_u32_assert (2);
     }
   else
     {
@@ -182,14 +184,18 @@ dump_category(int level)
 
   if (match_u32 (2))
     get_u32 ();
-  else
+  else if (match_u32 (1))
     {
-      match_u32_assert (1);
       match_byte (0);
       match_byte (0);
       match_byte (0);
       get_u32 ();
     }
+  else
+    {
+      match_u32_assert (0);
+      get_u32 ();
+    }
   int n_categories = get_u32();
   if (n_categories > 0)
     printf (", %d subcategories:", n_categories);