Timofey Solomko
a70e557f38
Extract HuffmanLength array creation code into Deflate specific file
2017-09-03 22:46:00 +03:00
Timofey Solomko
cebf0555e5
Make HuffmanLength Comparable and use this in their sorting in HuffmanTree
2017-09-03 20:04:44 +03:00
Timofey Solomko
f96f446827
More elegant solution for zero code lengths problem
2017-09-03 19:59:46 +03:00
Timofey Solomko
69fa9a2646
Remove unused inits from HuffmanTrees
2017-09-03 14:18:23 +03:00
Timofey Solomko
49228a049f
Fix HuffmanTree init crash when zero codeLength is encountered
2017-09-03 14:16:59 +03:00
Timofey Solomko
a357837065
Use new HuffmanLengths in deflate compression huffmantree construction
2017-09-03 14:16:30 +03:00
Timofey Solomko
818e387028
Use new HuffmanLengths in dynamic deflate huffman tree construction
2017-09-03 14:16:10 +03:00
Timofey Solomko
4addd8098e
Use new HuffmanLengths in construction of static huffman trees in deflate
2017-09-03 14:05:12 +03:00
Timofey Solomko
fc63053899
Use new HuffmanLengths in BZip2 decompression (in huffman tables creation)
2017-09-03 14:01:50 +03:00
Timofey Solomko
5d19120b63
Add inits from new HuffmanLengths to HuffmanTrees
2017-09-03 14:00:26 +03:00
Timofey Solomko
97c767abf5
Add HuffmanLength class
...
This class represents (symbol, codeLength) pairs used in construction of HuffmanTrees. It also includes useful functions for generating HuffmanLengths from other structures.
2017-09-03 13:58:11 +03:00
Timofey Solomko
94545c06a9
Another batch of small changes to bzip2
2017-09-03 13:49:18 +03:00
Timofey Solomko
6e9248fcd5
Remove try and throws where possible
...
This is because of the replacement of symbolNotFound throws with fatalErrors in compression related functions.
2017-09-02 23:24:55 +03:00
Timofey Solomko
af38fa1717
Fix problems with write(number:...) function of BitWriter
2017-09-02 23:12:55 +03:00
Timofey Solomko
8b6b9b9478
Add bitSize function to EncodingHuffmanTree
...
This function calculates expected size (in bits) of data based on data's stats.
2017-09-02 23:01:01 +03:00
Timofey Solomko
baad3196dc
Add variant of bzip2 crc32 function with Data argument
...
Will be used in BZip2 compression
2017-09-02 23:00:10 +03:00
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