# HG changeset patch # User Matti Hamalainen # Date 1496360355 -10800 # Node ID 9cfa0553e7f9128c58d55d0f12627dda76b78b2c # Parent b3e034b8c4b9bccc9e73314db6df023ea8f194df Add support for reading PSID/RSID v4 in sidlib. diff -r b3e034b8c4b9 -r 9cfa0553e7f9 sidlib.c --- a/sidlib.c Fri Jun 02 02:38:41 2017 +0300 +++ b/sidlib.c Fri Jun 02 02:39:15 2017 +0300 @@ -92,7 +92,7 @@ if ((psid->magic[0] != 'R' && psid->magic[0] != 'P') || psid->magic[1] != 'S' || psid->magic[2] != 'I' || psid->magic[3] != 'D' || - psid->version < 1 || psid->version > 3) + psid->version < 1 || psid->version > 4) { th_io_error(ctx, THERR_NOT_SUPPORTED, "Not a supported PSID or RSID file.\n"); @@ -118,7 +118,8 @@ if (!thfread_be16(ctx, &psid->flags) || !thfread_u8(ctx, &psid->startPage) || !thfread_u8(ctx, &psid->pageLength) || - !thfread_be16(ctx, &psid->reserved)) + !thfread_u8(ctx, &psid->sid2Addr) || + !thfread_u8(ctx, &psid->sid3Addr)) { th_io_error(ctx, ctx->status, "Error reading PSID/RSID v2+ extra header data: %s.\n", diff -r b3e034b8c4b9 -r 9cfa0553e7f9 sidlib.h --- a/sidlib.h Fri Jun 02 02:38:41 2017 +0300 +++ b/sidlib.h Fri Jun 02 02:39:15 2017 +0300 @@ -58,7 +58,7 @@ // PSIDv2 data uint16_t flags; // Flags uint8_t startPage, pageLength; - uint16_t reserved; + uint8_t sid2Addr, sid3Addr; // Extra data BOOL isRSID;