}
}
+static void
+dump_data_value_31(void)
+{
+ if (match_byte (0x31))
+ {
+ if (match_u32 (0))
+ {
+ if (match_u32 (1))
+ get_string();
+ else
+ match_u32_assert (0);
+ int subn = get_u32 ();
+ printf ("nested %d bytes", subn);
+ pos += subn;
+ }
+ else 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);
+ 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_data(void)
{
unsigned int format;
double value;
- if (match_byte (0x31))
- {
- if (match_u32 (0))
- {
- if (match_u32 (1))
- get_string();
- else
- match_u32_assert (0);
- int subn = get_u32 ();
- printf ("nested %d bytes", subn);
- pos += subn;
- }
- else 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_u32_assert(2);
- printf("(special 2)");
- match_byte_assert(0);
- match_byte_assert(0);
- 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_byte_assert (0x58);
+ dump_data_value_31();
format = get_u32 ();
value = get_double ();
printf (" value %g format %d(%d.%d)", value, format >> 16, (format >> 8) & 0xff, format & 0xff);
else if (match_byte (3))
{
get_string();
- if (match_byte (0x31))
- {
- if (match_u32 (0))
- {
- match_u32_assert (1);
- get_string ();
- int subn = get_u32 ();
- printf ("nested %d bytes", subn);
- pos += subn;
- }
- else 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);
- 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_data_value_31();
get_string();
printf("string \"%s\"", get_string());
match_byte (0);