[physfs] 64bit support?

Simas Toleikis simast at gmail.com
Tue Oct 16 09:29:39 EDT 2012


Hello,

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:

For ZIP:

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

For 7z:

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
archives)?

Simas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/physfs/attachments/20121016/b7d689ee/attachment.htm>


More information about the physfs mailing list