{
if (match_u32 (0))
{
- match_u32_assert (0);
+ if (match_u32 (1))
+ get_string();
+ else
+ match_u32_assert (0);
int subn = get_u32 ();
printf ("nested %d bytes", subn);
pos += subn;
}
}
-static void
-dump_dim_value_31(void)
-{
- if (match_byte (0x31))
- {
- if (match_u32 (0))
- {
- 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_byte_assert (0x58);
-}
-
static void
dump_dim_value(int level)
{
if (match_byte (3))
{
get_string();
- dump_dim_value_31();
+ dump_value_31();
get_string();
printf("string \"%s\"", get_string());
match_byte (0);
else
{
match_byte (0);
- dump_dim_value_31();
+ dump_value_31();
printf ("; \"%s\", substitutions:", get_string());
int total_subs = get_u32();
int x = get_u32();
}
}
-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_value(void)
{
unsigned int format;
double value;
- dump_data_value_31();
+ dump_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();
- dump_data_value_31();
+ dump_value_31();
get_string();
printf("string \"%s\"", get_string());
match_byte (0);
}
else
{
- dump_data_value_31();
+ dump_value_31();
char *base = get_string();
int x = get_u32();
printf ("\"%s\"; %d variables:\n", base, x);