match_byte_assert(2);
match_zeros_assert(24);
match_byte_assert(1);
- match_zeros_assert(7);
+ match_zeros_assert(3);
+ if (!match_byte(1))
+ match_byte_assert(0);
+ match_zeros_assert(3);
match_DspSimpleText();
parse_flexible();
}
match_byte_assert(0);
}
+static void
+parse_NavTitle(void)
+{
+ match_byte_assert(2);
+ match_zeros_assert(8);
+ match_u32_assert(24);
+ get_u32();
+ pos++;
+ match_byte_assert(4);
+ match_zeros_assert(2);
+ get_u32();
+ match_u32_assert(2);
+ match_u32_assert(1);
+}
+
static void
parse_flexible(void)
{
match_zeros_assert(14);
else if (!strcmp(heading, "NavOleItem"))
parse_NavOleItem();
+ else if (!strcmp(heading, "NavTitle"))
+ parse_NavTitle();
else
{
fprintf(stderr, "don't know %s at offset 0x%x: ", heading, start);
parse_flexible();
parse_flexible();
parse_flexible();
+ parse_flexible();
+ parse_flexible();
exit(0);
puts(get_padded_string(32));
if (!match_u32(80))