Mercurial > hg > dmlib
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;