#define get_string() get_string(WHERE)
static void
-dump_empty_nested(void)
+dump_nested_string(void)
{
+ match_byte_assert (0);
+ match_byte_assert (0);
int outer_end = pos + get_u32();
int inner_end = pos + get_u32();
if (pos != inner_end)
{
match_u32_assert(0);
- match_byte_assert(0x58);
+ if (match_byte(0x31))
+ get_string();
+ else
+ match_byte_assert(0x58);
if (pos != inner_end)
{
fprintf(stderr, "inner end discrepancy\n");
else if (match_u32 (1))
{
printf("(footnote %d) ", get_u32());
- match_byte_assert (0);
- match_byte_assert (0);
-
- int outer_end = pos + get_u32();
- int inner_end = pos + get_u32();
- if (pos != inner_end)
- {
- match_u32_assert(0);
- if (match_byte(0x31))
- get_string();
- else
- match_byte_assert(0x58);
- if (pos != inner_end)
- {
- fprintf(stderr, "inner end discrepancy\n");
- exit(1);
- }
- }
- match_byte_assert(0x58);
- match_byte_assert(0x58);
- if (pos != outer_end)
- {
- fprintf(stderr, "outer end discrepancy\n");
- exit(1);
- }
+ dump_nested_string();
}
else if (match_u32 (2))
{
match_byte_assert(0);
if (!match_u32 (2))
match_u32_assert(1);
- match_byte_assert(0);
- match_byte_assert(0);
- dump_empty_nested();
+ dump_nested_string(); /* Our corpus doesn't contain any examples with strings though. */
}
else
{
match_byte_assert(1);
match_byte_assert(0);
match_u32_assert(2);
- match_byte_assert(0);
- match_byte_assert(0);
- dump_empty_nested();
+ dump_nested_string(); /* Our corpus doesn't contain any examples with strings though. */
}
}
else