- else
- {
- match_byte_assert (0x58);
- char *base = get_string();
- int x = get_u32();
- printf ("\"%s\" with %d variables:\n", base, x);
- for (int i = 0; i < x; i++)
- {
- int y = get_u32();
- if (!y)
- y = 1;
- else
- match_u32_assert(0);
- for (int j = 0; j <= 0; j++)
- printf (" ");
- printf("variable %d has %d values:\n", i, y);
- for (int j = 0; j < y; j++)
- {
- if (match_byte(3))
- {
- char *a = get_string();
- match_byte_assert(0x58);
- char *b = get_string();
- char *c = get_string();
- for (int k = 0; k <= 1; k++)
- printf (" ");
- printf ("\"%s\", \"%s\", \"%s\"", a, b, c);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- }
- else if (match_byte (1))
- {
- unsigned int format;
- double value;
-
- 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
- dump_value (1);
- putchar('\n');
- }
- }
- }