On Feb 13, 2011, at 17:13, Thomas Klausner wrote: > On Thu, Oct 21, 2010 at 01:52:01PM +0200, Benjamin Eikel wrote: >> is it possible that libzip supports only up to 65,535 (2^16 - 1) files in >> one >> zip archive? I have a zip archive that contains over 80,000 files and the >> following code lines >> >> int num = zip_get_num_files(handle); >> std::cout << "sizeof=" << sizeof(num) << " value=" << num << std::endl; >> >> yield the output >> >> sizeof=4 value=65535 >> >> Furthermore if I try to load all files from the archive there are some >> (maybe >> those with index > 65535) that cannot be loaded. > > libzip currently implements only the zip standard, not the zip64 > standard. > > In the zip standard, the end of central directory record contains the > "total number of entries in the central directory" i.e. the number of > files in a 2-byte-wide field, thus limiting the number of files to > 65535. > In zip64, this fields is 8 byte wide, allowing many more files. True as that might be, infozip still allows more than 65535 files in one archive: it just stores (number_of_files) & 0xffff in that field. libzip supports this, so you should be able to read those files. Could you please send me the error messages and/or the zip archive? yours, dillo
Made by MHonArc.