Fixes issues with files being truncated when their headers have values
that represent smaller uncompressed sizes then the actual data. This
generally fixes issues where the whatever program zipped the file
fucked up the headers. The fix makes ssziparchive behave like other
unzip utilities that ignore the header and decompress the actual data
until it's finished.
I've tested a bunch and all of the tests included pass, if any other
issues arrive I'd be glad to take additional time to look into it.
Includes a file, IncorrectHeaders.zip, that is a zip of a folder called
IncorrectHeaders which includes a single file, Readme.txt. I've
intentionally changed the header for that file to read 50 bytes intend
of the actual 59 for testing purposes.
Using `zip` in Terminal generates zip files with just the files you zip. If you use OS X's archiver, it will add hidden files making the indexes appear to be wrong.
* Add ARC support
* Fixes: One of the bugs is that the file modification dates for files being unzipped were wrong. Apparently the code was taking the MS-DOS date and time and treating it as an NSTimeInterval since Jan 1, 1980. This is not correct and was resulting in modification dates for me in 2014. — Brant Sears
* Fixes: The second bug was that the file modification dates for folders were showing up as the current date/time, but when I unzip the same archive using Apple's implementation of zip, the file modification dates for those folders were set sometime in the past. — Brant Sears
* Add ARC support
* Fixes: One of the bugs is that the file modification dates for files being unzipped were wrong. Apparently the code was taking the MS-DOS date and time and treating it as an NSTimeInterval since Jan 1, 1980. This is not correct and was resulting in modification dates for me in 2014. — Brant Sears
* Fixes: The second bug was that the file modification dates for folders were showing up as the current date/time, but when I unzip the same archive using Apple's implementation of zip, the file modification dates for those folders were set sometime in the past. — Brant Sears
Basic zip files can be created (or appended to) by supplying the
path to a zip file and either paths to existing files or NSData
objects along with filenames.