match_byte_assert (0x58);
}
-static void dump_value(int level);
+static void dump_value(int level, bool match1);
static void
dump_value__(int level, bool match1)
{
for (int i = 0; i < x; i++)
{
- dump_value (level+1);
+ dump_value (level+1, match1);
putchar('\n');
}
}
printf("variable %d has %d values:\n", i, y);
for (int j = 0; j < y; j++)
{
- match_byte(0);
- if (match_byte(3))
- {
- char *a = get_string();
- match_byte_assert(0x58);
- char *b = get_string();
- char *c = get_string();
- for (int k = 0; k <= level + 1; k++)
- printf (" ");
- printf ("\"%s\", \"%s\", \"%s\"", a, b, c);
- }
- else
- dump_value (level+1);
-
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
+ dump_value (level+1, false);
putchar('\n');
}
}
}
static void
-dump_value(int level)
+dump_value(int level, bool match1)
{
for (int i = 0; i <= level; i++)
printf (" ");
match_byte (0);
match_byte (0);
match_byte (0);
- dump_value__(level, true);
+ dump_value__(level, match1);
match_byte(0);
match_byte(0);
match_byte(0);
if (data[pos] == 3 || data[pos] == 5)
dump_value__(level, true);
else
- dump_value(level);
+ dump_value(level, true);
}
static void
dump_category(int level)
{
- dump_value (level);
+ dump_value (level, true);
if (match_u32 (1))
match_byte (0);
if (data[pos] == 1 || data[pos] == 2 || data[pos] == 3 || data[pos] == 4)
dump_value__(0, false);
else if (data[pos] == 5)
- dump_value (0);
+ dump_value (0, true);
else
dump_substs (dump_data_value, level + 1);
}
match_byte (0);
match_byte (0);
if (data[pos] == 1 || data[pos] == 2 || data[pos] == 3 || data[pos] == 4)
- dump_value(level);
+ dump_value(level, true);
else if (data[pos] == 5)
dump_value__(level, true);
else
match_byte (0);
match_byte (0);
if (data[pos] == 2 || data[pos] == 4)
- dump_value(level);
+ dump_value(level, true);
else if (data[pos] == 1 || data[pos] == 3 || data[pos] == 5)
dump_value__(level, false);
else