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);
get_string();
printf("string \"%s\"", get_string());
- match_byte (0);
- match_byte (0);
- match_byte (0);
- match_byte (1);
- match_byte (1);
- match_byte (0);
- match_byte (0);
- match_byte (0);
- match_byte (1);
+ if (!match_byte (0))
+ match_byte_assert (1);
}
else if (match_byte (5))
{
get_string();
if (!match_byte(1) && !match_byte(2))
match_byte_assert(3);
- match_byte (0);
- match_byte (0);
- match_byte (0);
- match_byte (0);
}
else if (match_byte (2))
{
for (int k = 0; k <= level + 1; k++)
printf (" ");
printf ("\"%s\", \"%s\", \"%s\"", a, b, c);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
+ if (!match_byte(1))
+ match_byte_assert(0);
}
else
dump_footnote_value (level+1);
for (int k = 0; k <= level + 1; k++)
printf (" ");
printf ("\"%s\", \"%s\", \"%s\"", a, b, c);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
+ match_byte_assert(0);
}
else
dump_footnote_value (level+1);
match_byte_assert(0x58);
if (match_byte(0x31))
{
- dump_title_value(0); putchar('\n');
+ dump_footnote_value(0); putchar('\n');
}
else
match_byte_assert(0x58);
int n_footnotes = get_u32();
if (n_footnotes >= 20)
- fprintf(stderr, "%d footnotes\n", n_footnotes);
+ {
+ fprintf(stderr, "%08x: %d footnotes\n", pos - 4, n_footnotes);
+ exit(1);
+ }
+
printf("------\n%d footnotes\n", n_footnotes);
if (n_footnotes < 20)
{