make all the dump_*_() functions much more similar
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2014 07:06:59 +0000 (23:06 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 7 Nov 2014 07:06:59 +0000 (23:06 -0800)
dump.c

diff --git a/dump.c b/dump.c
index 854486fde4c1e08b802b0a153b06fc6eb3b55790..bf6003e9b1255079f73f9ebfdec6dd51dad8a4eb 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -314,10 +314,11 @@ dump_dim_value(int level)
   for (int i = 0; i <= level; i++)
     printf ("    ");
 
-  if (data[pos] == 3 || data[pos] == 5)
-    dump_value__(level, true);
-  else
-    dump_value(level, true);
+  match_byte(0);
+  match_byte(0);
+  match_byte(0);
+  match_byte(0);
+  dump_value__(level, true);
 }
 
 static void
@@ -363,15 +364,9 @@ dump_dim(void)
     match_u32_assert(2);
   if (!match_byte(0))
     match_byte_assert(1);
-  match_byte(0);
-  match_byte(0);
-  match_byte(0);
-  match_byte(0);
   get_u32();
   match_byte(0);
   match_byte(0);
-  match_byte(0);
-  match_byte(0);
   n_categories = get_u32();
   printf("%d nested categories\n", n_categories);
   for (int i = 0; i < n_categories; i++)
@@ -427,10 +422,8 @@ dump_data_value(int level)
   match_byte(0);
   match_byte(0);
   match_byte(0);
-  if (data[pos] == 1 || data[pos] == 2 || data[pos] == 3 || data[pos] == 4)
+  if (data[pos] <= 5)
     dump_value__(0, false);
-  else if (data[pos] == 5)
-    dump_value (0, true);
   else
     dump_substs (dump_data_value, level + 1);
 }
@@ -473,9 +466,7 @@ dump_title_value(int level)
   match_byte (0);
   match_byte (0);
   match_byte (0);
-  if (data[pos] == 1 || data[pos] == 2 || data[pos] == 3 || data[pos] == 4)
-    dump_value(level, true);
-  else if (data[pos] == 5)
+  if (data[pos] <= 5)
     dump_value__(level, true);
   else
     dump_substs(dump_title_value, level + 1);
@@ -491,9 +482,7 @@ dump_footnote_value(int level)
   match_byte (0);
   match_byte (0);
   match_byte (0);
-  if (data[pos] == 2 || data[pos] == 4)
-    dump_value(level, true);
-  else if (data[pos] == 1 || data[pos] == 3 || data[pos] == 5)
+  if (data[pos] <= 5)
     dump_value__(level, false);
   else
     dump_substs(dump_footnote_value, level + 1);
@@ -727,8 +716,7 @@ main(int argc, char *argv[])
           dump_dims ();
           printf("\n\ndata:\n");
           dump_data ();
-          if (pos == n - 1)
-            match_byte_assert (1);
+          match_byte (1);
           if (pos != n)
             {
               fprintf (stderr, "%x / %x\n", pos, n);