#define match_byte_assert(b) match_byte_assert(b, WHERE)
static char *
-get_string(void)
+get_string(const char *where)
{
if (data[pos + 1] == 0 && data[pos + 2] == 0 && data[pos + 3] == 0
/*&& all_ascii(&data[pos + 4], data[pos])*/)
}
else
{
- fprintf(stderr, "0x%x: expected string\n", pos);
+ fprintf(stderr, "%s: 0x%x: expected string\n", where, pos);
exit(1);
}
}
+#define get_string() get_string(WHERE)
static void
dump_value(int level)
if (!match_u32 (3))
match_u32_assert (2);
match_byte (0);
+ match_byte (0);
+ match_byte (0);
+ match_byte (0);
}
else if (match_byte (4))
{
match_byte (0);
get_u32 ();
}
+ else if (match_byte (1))
+ {
+ match_byte (0);
+ match_u32_assert (1);
+ match_byte (0);
+ get_u32();
+ }
else
{
match_u32_assert (0);