}
}
+static void
+dump_title_value_31(int level)
+{
+ if (match_byte (0x31))
+ {
+ if (match_u32 (1))
+ {
+ printf("(footnote %d) ", get_u32());
+ match_byte_assert (0);
+ match_byte_assert (0);
+ int subn = get_u32 ();
+ printf ("nested %d bytes", subn);
+ pos += subn;
+ }
+ else if (match_u32 (2))
+ {
+ printf("(special 2)");
+ match_byte_assert(0);
+ match_byte_assert(0);
+ if (!match_u32(2))
+ match_u32_assert(1);
+ match_byte_assert(0);
+ match_byte_assert(0);
+ int subn = get_u32 ();
+ printf ("nested %d bytes", subn);
+ pos += subn;
+ }
+ else
+ {
+ match_u32_assert(3);
+ printf("(special 3)");
+ match_byte_assert(0);
+ match_byte_assert(0);
+ match_byte_assert(1);
+ match_byte_assert(0);
+ int subn = get_u32 ();
+ printf ("nested %d bytes, ", subn);
+ pos += subn;
+ subn = get_u32 ();
+ printf ("nested %d bytes, ", subn);
+ pos += subn;
+ }
+ }
+ else
+ match_byte_assert (0x58);
+}
+
static void
dump_title_value(int level)
{
if (match_byte (3))
{
get_string();
- if (match_byte (0x31))
- {
- if (match_u32 (1))
- {
- printf("(footnote %d) ", get_u32());
- match_byte_assert (0);
- match_byte_assert (0);
- int subn = get_u32 ();
- printf ("nested %d bytes", subn);
- pos += subn;
- }
- else if (match_u32 (2))
- {
- printf("(special 2)");
- match_byte_assert(0);
- match_byte_assert(0);
- if (!match_u32(2))
- match_u32_assert(1);
- match_byte_assert(0);
- match_byte_assert(0);
- int subn = get_u32 ();
- printf ("nested %d bytes", subn);
- pos += subn;
- }
- else
- {
- match_u32_assert(3);
- printf("(special 3)");
- match_byte_assert(0);
- match_byte_assert(0);
- match_byte_assert(1);
- match_byte_assert(0);
- int subn = get_u32 ();
- printf ("nested %d bytes, ", subn);
- pos += subn;
- subn = get_u32 ();
- printf ("nested %d bytes, ", subn);
- pos += subn;
- }
- }
- else
- match_byte_assert (0x58);
+ dump_title_value_31(level);
get_string();
printf("string \"%s\"", get_string());
match_byte (0);
}
else if (match_byte (5))
{
- if (match_byte (0x31))
- {
- if (match_u32 (1))
- {
- printf("(footnote %d) ", get_u32());
- match_byte_assert (0);
- match_byte_assert (0);
- int subn = get_u32 ();
- printf ("nested %d bytes", subn);
- pos += subn;
- }
- }
- else
- match_byte_assert (0x58);
+ dump_title_value_31(level);
printf ("variable \"%s\"", get_string());
get_string();
if (!match_byte(1) && !match_byte(2))