Bugfix for #15 for compressing large files #16
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a potential quick fix for Issue #15 which occurs when attempting to compress files larger than ZIP64_LIMIT.
zinfo.file_size
is never initialized to the correct file size and thus the determination of whether zip64 is required is made based on the file size of 0. This later results in an exception being raised as though the file size increased during compression, since the file size is actually counted during compression and later saved overzinfo.file_size
.It is important to note that this fix may not be cross platform. Different versions of Python do different things on Windows with the
st_size
parameter in theos.stat
call. So, that may be worth investigating further. However, in the short term, this will fix the problem on Linux, Mac, and some Windows platforms without making it worse where it still doesn't work.I would leave it to the maintainers to make a broader decision on whether this fix is appropriate or if a better solution would be desired. I'm happy to help.