diff src/dmpack.c @ 1037:d674ddc0fc82

Change PACK file format to use 64 bit fileoffsets. Also switch some fields around for nicety. This breaks compatibility, so bump version.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 01 Mar 2015 16:59:00 +0200
parents c353e6bcb733
children 7e54b2d08ce7
line wrap: on
line diff
--- a/src/dmpack.c	Sun Mar 01 16:57:50 2015 +0200
+++ b/src/dmpack.c	Sun Mar 01 16:59:00 2015 +0200
@@ -96,7 +96,7 @@
     if (!dm_fread_str(pack->file, (Uint8 *) &hdr.ident, sizeof(hdr.ident)) ||
         !dm_fread_le16(pack->file, &hdr.version) ||
         !dm_fread_le32(pack->file, &hdr.dirEntries) ||
-        !dm_fread_le32(pack->file, &hdr.dirOffset))
+        !dm_fread_le64(pack->file, &hdr.dirOffset))
     {
         ret = DMERR_FREAD;
         goto out;
@@ -135,9 +135,9 @@
         }
 
         if (!dm_fread_str(pack->file, (Uint8 *) &entry->filename, DMRES_NAME_LEN) ||
+            !dm_fread_le64(pack->file, &entry->offset) ||
+            !dm_fread_le32(pack->file, &entry->length) ||
             !dm_fread_le32(pack->file, &entry->size) ||
-            !dm_fread_le32(pack->file, &entry->offset) ||
-            !dm_fread_le32(pack->file, &entry->length) ||
             !dm_fread_le32(pack->file, &entry->flags))
         {
             ret = DMERR_FREAD;