952 Commits
Author SHA1 Message Date
Timofey Solomko f02361d486 Prepare for 4.1.1 release 2018-02-11 14:52:17 +03:00
Timofey Solomko d1496deb95 [docs] Update docs comments for several TarEntryInfo properties 2018-02-11 14:31:44 +03:00
Timofey Solomko 1e67373a4e [TAR] Fix incorrect entry names when prefix field is used
Apparently, prefix and name should be separated by "/" (when prefix is not NULL).
2018-02-11 13:13:14 +03:00
Timofey Solomko e0bdd4f774 [TAR] Read magic as UInt64 2018-02-08 00:07:45 +03:00
Timofey Solomko b9f325f91b Small text/comments-related changes 2018-02-07 23:59:42 +03:00
Timofey Solomko 7319e26922 Prepare for 4.1.0 release 2018-01-31 20:30:09 +03:00
Timofey Solomko c1c54add88 Prepare for second test release of 4.1.0 2018-01-29 21:14:43 +03:00
Timofey Solomko e7511130a9 Merge branch 'develop' into release-4.1.0 2018-01-29 19:56:24 +03:00
Timofey Solomko e710e37233 [BZip2] Add comments about smaller block size for compression 2018-01-29 19:55:42 +03:00
Timofey Solomko d7390ec44f [ZIP] Native time and date are now relative to current timezone and calendar used by system 2018-01-28 19:58:40 +03:00
Timofey Solomko 32d3cc6279 Extract ntfs timestamps reference date as static property 2018-01-28 19:17:52 +03:00
Timofey Solomko e7a2707508 [swcomp] Fix 7zCommand using Zip's functions 2018-01-28 19:13:05 +03:00
Timofey Solomko 4adc62192f [swcomp] Extract most of global printInfo function as an extension to ContainerEntryInfo 2018-01-17 13:13:57 +03:00
Timofey Solomko 67c906840d [swcomp] Add commands for performance testing deflate and bzip2 compression 2018-01-17 12:57:45 +03:00
Timofey Solomko baa16b00b5 [swcomp] Add block size options to bzip2 command 2018-01-17 12:54:33 +03:00
Timofey Solomko 8fa195d560 [TAR] Replace Int.roundTo512() function with bitwise inlinable version in common Extensions file 2018-01-17 12:12:29 +03:00
Timofey Solomko 7d99ab176a [BZip2] Use not-reduced block size for decompression 2018-01-17 12:01:00 +03:00
Timofey Solomko 6781ff5e96 [swcomp] Implement ZipCommand and SevenZipCommand using ContainerCommand 2018-01-16 22:52:27 +03:00
Timofey Solomko ab7c65249d [swcomp] Add ContainerCommand protocol
This protocol represents common functionality for container-related commands (7z and zip). Extension to this protocol implements execute() function which is the same for both 7z and Zip commands.
2018-01-16 22:52:20 +03:00
Timofey Solomko ca41cc3b5f [BZip2] Additionally reduce block sizes by 1.25
This is required, because, apparently, original bzip2 implementation doesn't account for the fact that the initial RLE can cause expansion of the data.
2018-01-16 22:28:35 +03:00
Timofey Solomko 6b6ece5b6e [swcomp] Protect against non-set (set to 0) permissions in containers
Such permissions made files unaccessable by everyone except root.
2018-01-15 22:37:04 +03:00
Timofey Solomko 726cc8a828 [swcomp] Update description of extract option of 7z, tar and zip commands 2018-01-15 22:35:59 +03:00
Timofey Solomko 344421f49c Exclude SPM's .build directory from swiftlint and swiftlint 2018-01-15 21:49:54 +03:00
Timofey Solomko d8a47efd44 [BZip2] Slightly optimise initial RLE in compress 2018-01-14 23:07:09 +03:00
Timofey Solomko 02fb0c2886 [BZip2] Fix incorrect block sizes in compression
I previously thought that 1KB = 1024 bytes, but apparently in this case it is just 1000 bytes.
2018-01-14 18:17:44 +03:00
Timofey Solomko 955ab734c8 [swcomp] Add info option to GZipCommand, which prints GZip header 2018-01-14 13:12:03 +03:00
Timofey Solomko 714de31f5d [swcomp] Add CustomStringConvertible extensions for several SWCompression's types 2018-01-14 13:11:35 +03:00
Timofey Solomko 6fafd9d729 [swcomp] Remove redundant checks covered by exactlyOne OptionGroups 2018-01-14 12:53:57 +03:00
Timofey Solomko 81a6cba5ff Swiftlinted with two new rules 2018-01-14 11:12:27 +03:00
Timofey Solomko fe3f1df588 [TAR] Remove Int.octalToDecimal() extension function, since it isn't used anymore 2018-01-12 21:41:19 +03:00
Timofey Solomko ac2f097049 [TAR] Use stdlib's Int from String initializer with radix parameter where possible 2018-01-12 21:40:43 +03:00
Timofey Solomko 44f33bf02a Make bit reader and writer functions' parameters concrete classes
Previously, it was almost always protocols, which in some cases didn't make sense.
2018-01-07 22:27:36 +03:00
Timofey Solomko bb45735132 Merge BurrowsWheeler.reverse and transofrm functions
The latter was used only for reverse transformation despite its name.
2018-01-07 20:09:34 +03:00
Timofey Solomko b9440aac9f Rework inverse BWT by removing sorting stage
This change has a significant impact on performance in a good way.
2018-01-07 15:16:18 +03:00
Timofey Solomko 2be06c8c0a Use ByteReader in all ZIP-related code
We can do this since we don't have asynchronous concerns anymore.
2018-01-07 15:12:59 +03:00
Timofey Solomko 536b5dcb49 Extract reverse local function of HuffmanTrees' inits as Int extension 2018-01-07 15:12:59 +03:00
Timofey Solomko 1dbc64a615 Remove switch from BZip2.BlockSize.headerByte 2018-01-07 15:12:59 +03:00
Timofey Solomko 7a09d5fde8 Preallocate bytes arrays in BZip2 2018-01-07 15:12:54 +03:00
Timofey Solomko b035d910a0 Rewrite BZip2.BlockSize.headerByte() as computed properties 2018-01-05 15:03:47 +03:00
Timofey Solomko 9f4884adc8 Refactor bzip2 block size parsing 2018-01-03 23:41:20 +03:00
Timofey Solomko 22372cb6e9 Prepare for first test release of 4.1.0 2018-01-03 19:44:38 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko e986561487 Replace Int() conversions with toInt() functions 2018-01-03 19:22:15 +03:00
Timofey Solomko d2d74d52b9 Remove unused extensions 2018-01-03 19:22:15 +03:00
Timofey Solomko c8d92e56d3 Replace BitReader and ByteReader with BitByteData's implementations 2018-01-03 19:22:15 +03:00
Timofey Solomko bb39c4016c Replace SWCompression.BitWriter with BitByteData's one 2018-01-03 19:22:15 +03:00
Timofey Solomko 20ab480737 Complete renaming of DataWithPointer to ByteReader
This includes renaming pointerData variables to byteReader as well as renaming of files with extensions to ByteReader.
2018-01-03 19:22:14 +03:00
Timofey Solomko 1293cf15a0 Make BitReader.bitMask completely private 2018-01-03 19:22:14 +03:00
Timofey Solomko 22bd529b3c Change return type of BitReader.bit() to UInt8 2018-01-03 19:22:13 +03:00
Timofey Solomko dcf18c73d6 Rename ByteReader.isAtTheEnd to isFinished 2018-01-03 19:22:13 +03:00