}
static void dump_value(int level, bool match1);
+static void dump_substs(void (*dump)(int level), int level);
+static void dump_value__(int level, bool match1);
+
+static void
+dump_value__with_preskip(int level)
+{
+ match_byte(0);
+ match_byte(0);
+ match_byte(0);
+ match_byte(0);
+ dump_value__ (level, false);
+ putchar('\n');
+}
static void
dump_value__(int level, bool match1)
match_byte (1);
}
else
- {
- dump_value_31();
- char *base = get_string();
-
- int x = get_u32();
- printf ("\"%s\" with %d variables:\n", base, x);
- 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++)
- {
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- dump_value__ (level+1, false);
- putchar('\n');
- }
- }
- }
+ dump_substs(dump_value__with_preskip, level + 1);
}
static void