Commit Graph
611 Commits
Author SHA1 Message Date
Timofey Solomko 78fb8cb07b Small changes to bzip2 code 2017-09-02 22:59:31 +03:00
Timofey Solomko cc77cfaad6 Use fatalError instead of symbolNotFound error throw in EncodingHuffmanTree
It is a programming error if symbol is not found during encoding, thus, we should use fatalError.
2017-09-02 20:07:19 +03:00
Timofey Solomko cb54a5fa02 Use tuples in inits of huffman trees 2017-09-02 20:03:21 +03:00
Timofey Solomko 5b3e4e72d3 Extract Deflate huffman trees' bootstraps as constants 2017-09-02 20:02:55 +03:00
Timofey Solomko 12da128ddd Change EncodingHuffmanTree API to be more consistent with decoding tree and cleanup usage 2017-08-29 00:10:04 +03:00
Timofey Solomko 2aca494757 Rename HuffmanTree into DecodingHuffmanTree 2017-08-29 00:03:56 +03:00
Timofey Solomko 9827e32bdd Extract code for huffman encoding into separate class 2017-08-29 00:01:03 +03:00
Timofey Solomko 43f7dd6c50 Remove FIXME in 7zContainer 2017-08-22 15:01:13 +03:00
Timofey Solomko c32cd538d6 Prepare for 3.3.0 2017-08-20 10:49:42 +03:00
Timofey Solomko 82b4da8789 Add and update docs for other classes. 2017-08-19 16:23:55 +03:00
Timofey Solomko 33c347c131 Add documentation for 7z 2017-08-19 16:23:26 +03:00
Timofey Solomko 0ff3e2f5e3 Significantly reduce number of error cases in 7zError
Also some of them were renamed.
2017-08-19 15:46:43 +03:00
Timofey Solomko 14e77ee616 Fix compile issues with renamed variable 2017-08-18 09:48:36 +03:00
Timofey Solomko 745368e50d Small fixes here and there 2017-08-16 22:47:24 +03:00
Timofey Solomko c8be30a942 Prepare for second test release 2017-08-16 22:17:59 +03:00
Timofey Solomko a1daa622a5 Swiftlinted 2017-08-16 22:16:22 +03:00
Timofey Solomko 87c35fcc24 Add build time configuration of used compression methods in 7z in cocoapods configurations 2017-08-16 22:07:09 +03:00
Timofey Solomko 5ae920edb3 Rename build flags used in cocoapods configurations 2017-08-16 21:55:29 +03:00
Timofey Solomko b7d5b3c997 Store unknown properties of 7z file info 2017-08-16 21:52:37 +03:00
Timofey Solomko c155b3910d Remove rawUnpackSize from 7z.open() 2017-08-16 21:51:53 +03:00
Timofey Solomko 3bfce7fe7f Move Date extension into Extensions file 2017-08-16 21:36:51 +03:00
Timofey Solomko ce4e12ac18 Rework XZ so multiByteDecode doesn't return tuples 2017-08-16 21:36:12 +03:00
Timofey Solomko 626c1f7b62 Change utf8 detection alogrithm in zip to favor more cp437 2017-08-16 20:26:33 +03:00
Timofey Solomko e40ddacd07 Fix incorrect posixPermissions in tar in some cases
Sometimes "mode" fields also includes unix type which we haven't accounted for.
2017-08-16 18:36:18 +03:00
Timofey Solomko 15b9169448 Add support for NTFS extra field in ZIP 2017-08-16 18:30:36 +03:00
Timofey Solomko 288e34179c Use new Date extension in 7z 2017-08-16 18:07:05 +03:00
Timofey Solomko 7f78732973 Add Date extension with initializer from ntfs time 2017-08-16 18:06:49 +03:00
Timofey Solomko a0d150c68c Add isTextFile property to ZipEntry 2017-08-16 17:55:39 +03:00
Timofey Solomko fe74423356 Fix problems when ZipEntry.data() is called multithreadingly 2017-08-16 17:48:25 +03:00
Timofey Solomko f68a1f0cb7 Remove warnings about deprecation of certain TAR entry properties 2017-08-16 17:04:22 +03:00
Timofey Solomko a29dc61183 Add isLink and linkPath properties to ContainerEntry protocol 2017-08-16 17:04:00 +03:00
Timofey Solomko 9160abf068 Add isLink and linkPath properties to ZIP 2017-08-16 17:03:42 +03:00
Timofey Solomko 67c445491e Add isLink property to TAR 2017-08-16 17:03:24 +03:00
Timofey Solomko a9b3a110fe Save byte in bit functions instead of constantly access data property 2017-08-15 12:09:13 +03:00
Timofey Solomko f21f0c7292 Reduce usage of intFromBits function 2017-08-15 12:04:22 +03:00
Timofey Solomko 2134d63535 Perform alignment of bitreader in 7z specific code of bitreader 2017-08-15 11:37:06 +03:00
Timofey Solomko 5210c16cf9 Change logic of alignment requirements in byte functions of BitReader
Previously, functions like byte(), uint32(), etc had a side effect: they were silently permorming alignement (skipping all bits until next byte's boundary). I've considered this as a bad practice and now a call of align() function is required before using byte function. In addition, isAligned computed property was added to check if alignment is required.
2017-08-15 11:18:02 +03:00
Timofey Solomko 0a1b356b1b 7z entries now always have type in entryAttributes 2017-08-14 18:49:59 +03:00
Timofey Solomko 8229afde2e Prepare for first test release 2017-08-14 17:36:35 +03:00
Timofey Solomko a65666cd19 Remove unused coder IDs and extra comments 2017-08-14 17:29:58 +03:00
Timofey Solomko 59a0896fa5 Add tests for different 7z compression methods 2017-08-10 16:48:36 +03:00
Timofey Solomko b8eb63b834 Minor code improvements. 2017-08-06 18:17:43 +03:00
Timofey Solomko ece5bc5c99 Fix problems with reading entries' data caused by incorrect interpretation of packedStreams property of 7zFolder 2017-08-06 17:44:24 +03:00
Timofey Solomko c341a9263c Fix incorrect reading of substreams' crcs 2017-08-06 17:43:23 +03:00
Timofey Solomko ffb1c78434 Fix incorrect read of end byte in 7z substream 2017-08-05 15:11:22 +03:00
Timofey Solomko f76a7c677a Add support for several 7z coders 2017-08-03 00:32:32 +03:00
Timofey Solomko e79924bf84 Populate entryAttributes for 7z entry; set linkPath, too 2017-08-02 17:34:09 +03:00
Timofey Solomko 8ca5f9e37c Use new attribute types in 7z entry info 2017-08-02 17:31:33 +03:00
Timofey Solomko 0bc1d470e9 Add some types for permissions/attributes 2017-07-31 18:55:56 +03:00
Timofey Solomko 42553d82bf Fix problem with 7z containers with empty and non-empty files
unpackSizes array doesn't have values for empty files.
2017-07-31 17:49:44 +03:00