return x;
}
+static unsigned long long int
+get_u64(void)
+{
+ uint64_t x;
+ memcpy(&x, &data[pos], 8);
+ pos += 8;
+ return x;
+}
+
static unsigned int
get_be32(void)
{
match_byte_assert(0);
if (!match_byte(0))
match_byte_assert(1);
- if (version > 1)
- {
- if (!match_byte(0x97) && !match_byte(0x98)
- && !match_byte(0x99) && !match_byte(0x9a) && !match_byte(0x9b))
- match_byte_assert(0x9c);
- match_byte_assert(7);
- match_byte_assert(0);
- match_byte_assert(0);
- }
- else
- {
- printf("%x\n", get_u32());
- }
+ printf("<epoch>%d</epoch>\n", get_u32());
int decimal = data[pos];
int grouping = data[pos + 1];
if (!match_byte(0))
match_byte_assert(1);
- if (!match_byte(0x97) && !match_byte(0x98)
- && !match_byte(0x99) && !match_byte(0x9a) && !match_byte(0x9b))
- match_byte_assert(0x9c);
- match_byte_assert(7);
- match_byte_assert(0);
- match_byte_assert(0);
+ printf("<epoch2>%d</epoch2>\n", get_u32());
if (match_byte('.'))
{
pos++;
pos++;
- /* Offset 31.
-
- This is the tableId, e.g. -4154297861994971133 would be 0xdca00003.
- We don't have enough context to validate it. */
- pos += 4;
-
- /* Offset 35. */
- pos += 4;
+ /* Offset 31. */
+ printf("<tableid>%lld</tableid>", get_u64());
dump_title ();
dump_fonts();