Hello,<div><br></div><div>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.</div>
<div><br></div><div>PhysFS 2.0.2 is compiled as a static library using built-in zlib with Visual Studio 2012 runtime/toolchain for 64bit target platform.</div><div><br></div><div>Here are the issues I am running in:</div>
<div><br></div><div>For ZIP:</div><div><br></div><div>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:</div>
<div><br></div><div><div>/* check signature again, just in case. */</div><div>BAIL_IF_MACRO(!readui32(in, &ui32), NULL, 0);</div><div>BAIL_IF_MACRO(ui32 != ZIP_END_OF_CENTRAL_DIR_SIG, ERR_NOT_AN_ARCHIVE, 0); // <-- Here</div>
</div><div><br></div><div>For 7z:</div><div><br></div><div>My 7z archive is using LZMA (created with 7-Zip application) and when I try to mount it I get a crash.</div><div><br></div><div>The crash is in archivers/lzma.c, on line 134:</div>
<div><br></div><div>size_t processedSizeLoc = __PHYSFS_platformRead(s->file, buffer, 1, size);</div><div><br></div><div>s->file is undefined and results in an access violation.</div><div><br></div><div>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).</div>
<div><br></div><div>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)?</div><div><br></div><div>Simas</div>