[physfs] 64bit support?
simast at gmail.com
Tue Oct 16 09:29:39 EDT 2012
I have been having a lot of headaches with 64bit app recently (which is
using PhysFS 2.0.2). Essentially, PhysFS is working great when no archives
are used (only DIR archiver). However, I can't get neither ZIP nor 7z
archives to work.
PhysFS 2.0.2 is compiled as a static library using built-in zlib with
Visual Studio 2012 runtime/toolchain for 64bit target platform.
Here are the issues I am running in:
No matter what I use (I tried 7-Zip and even the default Windows
application) to create my archive, the PhysFS will not recognize it as a
valid archive. Debugging deeper I can see it is failing
in zip_parse_end_of_central_dir() function with the following assertions:
/* check signature again, just in case. */
BAIL_IF_MACRO(!readui32(in, &ui32), NULL, 0);
BAIL_IF_MACRO(ui32 != ZIP_END_OF_CENTRAL_DIR_SIG, ERR_NOT_AN_ARCHIVE, 0);
// <-- Here
My 7z archive is using LZMA (created with 7-Zip application) and when I try
to mount it I get a crash.
The crash is in archivers/lzma.c, on line 134:
size_t processedSizeLoc = __PHYSFS_platformRead(s->file, buffer, 1, size);
s->file is undefined and results in an access violation.
I can see in lzma.c there is a bunch of casts to unsigned long types (which
are 32bit on 64bit Windows platform so this could be related).
Anyway, I guess my question is. What's the status of PhysFS 64bit support?
Has anyone successfully used PhysFS on a 64bit application (with ZIP/7z
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the physfs