mrkkrp
d8d28e14d2
Fix the issue with mod time serialization on 32 bit systems
...
Close #32 .
2017-03-04 23:36:24 +03:00
Rahul Muttineni
e1b2a4eb23
Write correct number of entries to central directory with Zip64 ( #31 )
2017-02-25 17:40:08 +04:00
mrkkrp
5f7af58011
Remove the ‘zip64-ecd’ flag
...
Now that the situation is clear, I think it's pretty safe to remove this
additional run of the test suite. It's unlikely that we will run into new
Zip64-related issues.
2017-02-09 20:13:00 +03:00
mrkkrp
9511fd0e57
Fix literal overflows on 32 bit systems
2017-02-09 20:11:10 +03:00
Mark Karpov
e5fe94940c
Fix reading of empty Zip 64 archives
...
* Try to catch the Zip64 ECD issue on Travis
* Fix detection of end of central directory
2017-02-08 23:40:38 +04:00
mrkkrp
0927c6189e
Include 2017 into copyright years range
2017-01-01 14:27:47 +03:00
mrkkrp
e729dd9c6d
Use ‘withBinaryFile’ instead of ‘withFile’
...
Using ‘withFile’ on Windows may lead to incorrect results, see documentation
for ‘openBinaryFile’.
2016-12-28 00:43:10 +03:00
mrkkrp
9acb0e80c2
Derive more instances for some types
2016-12-12 21:16:18 +03:00
mrkkrp
28dfc18d54
Add ‘since’ label to ‘getEntrySource’
2016-07-22 00:30:09 +03:00
Christopher Wells
692079a784
Add examples to documentation
...
Add some examples of common uses of the library to the documentation.
2016-06-07 17:45:03 +07:00
mrkkrp
5d857874ba
Add ‘getEntrySource’ function
...
Close #15 .
2016-05-15 23:50:49 +07:00
mrkkrp
905328dd57
Speed up detection of invalid archives
...
Close #16 .
2016-05-15 22:56:36 +07:00
mrkkrp
93c670fcc5
Calculate “version needed to extract” field
...
Close #14 .
Two new features:
* Added explicit check of “version needed to extract”, so if archive
uses some advanced features that we do not support yet, parsing fails.
* Value of “version needed to extract” field is now calculated
dynamically with respect to actually used features, e.g. if you just
store or deflate a not very big file, ‘2.0’ version will be
written (previously we wrote ‘4.6’ unconditionally). This is needed to
avoid scaring tools that can only handle basic Zip archives.
2016-04-09 14:55:44 +07:00
mrkkrp
1e7d02215c
Fix a typo in description of ‘decodeText’
2016-03-25 19:45:25 +06:00
Michael Thompson
c108d12569
Update CP437.hs
...
One is supposed to accumulate a builder with a right fold:
https://www.reddit.com/r/haskell/comments/35udfy/fixing_an_aeson_performance_bug_sometimes_the_old/cr94pdj
I skipped that with this attempt, which unfolds the text directly. It
seems 10 or more times as fast if I send /usr/share/dict/words through
it. ‘unfoldrN’ is a pretty strong function with text since it is
basically just replicates to the stream representation.
2016-03-05 23:54:03 +06:00
mrkkrp
26cfc197a2
Add missing word in docs
2016-03-03 21:51:14 +06:00
mrkkrp
740fe99ab7
Work around a bug in ‘path’ package
...
‘.’ should not be accepted as valid relative file name, it least in the
context of this package.
2016-03-02 23:22:21 +06:00
mrkkrp
52170ab594
Fix undoing
2016-03-02 17:51:35 +06:00
mrkkrp
e4b4585322
Improve documentation of ‘getEntries’ and ‘commit’
2016-03-02 16:50:54 +06:00
mrkkrp
7e6d8025f7
Add ‘doesEntryExist’ and ‘getEntryDesc’
...
Close #7 .
2016-03-02 13:49:32 +06:00
mrkkrp
c41b7529a7
Fix more bugs revealed by the new tests
2016-03-02 12:58:11 +06:00
mrkkrp
e71dcfa69b
Cosmetics and new bug fixes (thanks to new tests)
2016-03-01 21:39:22 +06:00
mrkkrp
ab80d36aa5
Rename ‘edModified’ → ‘edModTime’
2016-03-01 18:22:25 +06:00
mrkkrp
2f3d6c6cfa
Remove redundant ‘Ord’ constraint
2016-03-01 17:41:26 +06:00
mrkkrp
167abc349e
Fix bug revealed by the new tests
2016-03-01 17:19:52 +06:00
mrkkrp
e18ffd269f
Make it pass the tests…
2016-03-01 09:53:17 +06:00
mrkkrp
a5cfdcf951
Add ‘checkEntry’ function
...
Close #6 .
2016-03-01 09:52:03 +06:00
mrkkrp
3049c2d84d
Rename ‘modifyEntries’ → ‘forEntries’
2016-03-01 09:50:07 +06:00
mrkkrp
5f562af5c0
Improve ‘needsUnicode’ check in ‘Internal.hs’
2016-02-29 14:47:43 +06:00
mrkkrp
3d81432d44
Minor cosmetic improvements in docs
2016-02-29 12:16:54 +06:00
mrkkrp
99dc0abf18
Improve opening phrase of main module's docs
2016-02-29 00:55:41 +06:00
mrkkrp
fcb8e78eb5
Add proper support for CP437
...
Close #4 .
2016-02-28 19:05:06 +06:00
mrkkrp
ccde335847
Better typing, limit some values
...
Close #2 .
2016-02-28 16:26:27 +06:00
mrkkrp
13388e4c86
Add ‘modifyEntries’ utility function
...
Close #5 .
2016-02-28 15:41:37 +06:00
mrkkrp
26b96440e1
Making low-level machinery less ugly
2016-02-28 01:53:19 +06:00
mrkkrp
593952d89c
Make ‘ZipArchive’ instance of ‘MonadIO’
...
That protection was not very strong anyway, user could do something via
conduit sinks, etc.
2016-02-28 01:01:17 +06:00
mrkkrp
a752bedbe4
Improve handling of big files (> 4GB)
...
Close #3 .
This fixes numerous bugs and refactors things a bit. Now the Zip64
feature works flawlessly.
2016-02-27 23:10:33 +06:00
mrkkrp
fa9e4ae4ba
Eliminate duplicates in final distribution
2016-02-27 00:26:25 +06:00
mrkkrp
d5974736fe
Fix a nasty typo
2016-02-27 00:09:54 +06:00
mrkkrp
75da4927ed
Improve documentation
2016-02-26 22:17:18 +06:00
mrkkrp
0a4dba1ef2
Append actions, not prepend
2016-02-26 22:16:49 +06:00
mrkkrp
a172f96350
Fix copying of entries
2016-02-26 20:01:27 +06:00
mrkkrp
332bc55f2c
Make writing operations finally work
2016-02-26 15:03:59 +06:00
mrkkrp
58daa99dd4
More work done
2016-02-25 18:19:39 +06:00
mrkkrp
fe3a876ed0
Work on writing operations…
2016-02-23 20:15:17 +06:00
mrkkrp
1b2c74b3ad
Progress in implementation of modifying operations
2016-02-22 18:51:10 +06:00
mrkkrp
27033960bd
Implemented detection of end of central directory
...
Not the prettiest code I've ever written, but it handles all the corner
cases.
2016-02-15 22:33:12 +06:00
mrkkrp
18f44bcde3
Make decompression work
2016-02-13 19:44:47 +06:00
mrkkrp
bdcb8a57f3
Now reading of archives should be possible
...
We still need to write out ‘locateECD’ properly.
2016-02-13 17:43:22 +06:00
mrkkrp
9c72b1d50f
Make ‘AddExtraField’ work with the new API
2016-02-13 17:42:16 +06:00