match_byte_assert (0x58);
}
-static void dump_value__(int level, bool match1);
-
static void
dump_value__(int level, bool match1)
{
for (int i = 0; i <= level; i++)
printf (" ");
+ match_byte(0);
+ match_byte(0);
+ match_byte(0);
+ match_byte(0);
+
if (match_byte (3))
{
char *s1 = get_string();
printf("variable %d has %d values:\n", i, y);
for (int j = 0; j < y; j++)
{
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
dump_value__ (level + 1, false);
putchar('\n');
}
static void
dump_category(int level)
{
- match_byte (0);
- match_byte (0);
- match_byte (0);
- match_byte (0);
dump_value__ (level, true);
match_byte(0);
match_byte(0);
dump_category (level + 1);
}
-static void dump_title_value(int level);
-
static void
dump_dim(void)
{
int n_categories;
printf("next dim\n");
- dump_title_value(0);
+ dump_value__ (0, false);
/* This byte is usually 0x02 but 0x00 and 0x75 (!) have also been spotted. */
pos++;
}
}
-static void
-dump_data_value(int level)
-{
- for (int i = 0; i <= level; i++)
- printf (" ");
-
- match_byte(0);
- match_byte(0);
- match_byte(0);
- match_byte(0);
- dump_value__(0, false);
-}
-
static void
dump_data(void)
{
{
printf("%08x, index %d:\n", pos, get_u32());
match_u32_assert(0);
- dump_data_value(0);
+ dump_value__(0, false);
putchar('\n');
}
}
-static void
-dump_title_value(int level)
-{
- for (int i = 0; i <= level; i++)
- printf (" ");
-
- match_byte (0);
- match_byte (0);
- match_byte (0);
- match_byte (0);
- dump_value__(level, true);
-}
-
static void
dump_title(void)
{
pos = 0x27;
- dump_title_value(0); putchar('\n');
- dump_title_value(0); putchar('\n');
+ dump_value__(0, true); putchar('\n');
+ dump_value__(0, true); putchar('\n');
match_byte_assert(0x31);
- dump_title_value(0); putchar('\n');
+ dump_value__(0, true); putchar('\n');
match_byte(0);
match_byte_assert(0x58);
if (match_byte(0x31))
{
- dump_data_value(0); putchar('\n');
+ dump_value__(0, false); putchar('\n');
}
else
match_byte_assert(0x58);
for (int i = 0; i < n_footnotes; i++)
{
printf("footnote %d:\n", i);
- dump_data_value(0);
+ dump_value__(0, false);
if (match_byte (0x31))
{
/* Custom footnote marker string. */