Thread

Thread Index

Message

From: Dieter Baron <dillo%danbala.tuwien.ac.at@localhost>
To: Thomas Klausner <tk%giga.or.at@localhost>
Subject: Re: Maximum number of files in zip archive
Date: Sun, 13 Feb 2011 23:23:31 +0100

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.