Commit Graph
1047 Commits
Author SHA1 Message Date
Timofey Solomko ef162c4b4f [TAR] Correctly handle gnu format when used for incremental backups
Previously, in such cases the resulting entries were having incorrect file names instead of having ctime/atime.
2018-07-23 09:25:06 +03:00
Timofey Solomko 46f88e1d60 [docs] Simplify documentation for SevenZipError cases 2018-07-22 18:11:26 +03:00
Timofey Solomko 6f5085bb03 [TAR] ExtendedHeader init(_:) is no longer failable 2018-07-17 19:58:04 +03:00
Timofey Solomko e461fae1d7 [TAR] Correctly read PAX extended headers with unicode characters in their content
The problem arised from my misunderstanding of what the length of the header entry is. Previously, it was treated as a length of entry converted to UTF-8 _string_, but apparently it is the byte-length. The problem manifests itself when a PAX entry contains multi-byte UTF-8 characters, and was undiscovered until now due to insufficient testing.
2018-07-16 20:18:03 +03:00
Timofey Solomko aee78e3030 [TAR] Correctly read uid and gid as octal numbers 2018-07-16 20:14:17 +03:00
Timofey Solomko 9f9fbc638e [TAR] Combine auxiliary buffer extension function into tarInt function 2018-07-14 20:55:03 +03:00
Timofey Solomko df347d850c [TAR] Add notes about wrongField being unused into its doc comment 2018-07-14 20:41:05 +03:00
Timofey Solomko 2a2842ebc3 [TAR] Replace nullEndedAsciiString function with a better version of it called tarCString
It uses String(cString:) initiliazer, since TAR's null-ending ASCII strings are, basically, CStrings. As a bonus this initializer is not failable, so there remains no situation where throwing wrongField error is necessary. This makes tarCString function non-throwing and also wrongField error case unused (thus, it is possible to remove it in the next major update).
2018-07-14 20:38:42 +03:00
Timofey Solomko ffe6265b3e [TAR] Slightly optimize checksum calculations 2018-07-13 23:23:45 +03:00
Timofey Solomko e20ff27d63 [TAR] Unparsable Integer fields no longer cause wrongField error
For unparsable checksum the wrongHeaderChecksum is thrown instead.
2018-07-13 23:16:59 +03:00
Timofey Solomko fe81ff1341 [TAR] truncatingIfNeeded optimizations for TarEntryInfo.init 2018-07-13 22:55:40 +03:00
Timofey Solomko 29ad403776 [TAR] Replace nullSpaceEndedAsciiString extension function of ByteReader with more specifc and properly documented tarInt() function 2018-07-13 22:55:12 +03:00
Timofey Solomko 4c12e6afdd [TAR] Decode all TAR fields as UTF-8 instead of ASCII
ASCII is a subset of UTF-8 so this change doesn't break anything, but instead allows to support wider range of characters that may be put into those TAR fields by other implementations.
2018-07-13 22:36:34 +03:00
Timofey Solomko 6cfdc0ab29 [LZMA] Rename LZMADecoder.dictionarySize to dictSize 2018-05-20 12:55:46 +03:00
Timofey Solomko e467370de7 [LZMA] Remove second label from internal LZMA.decompress function and simplify uncompSize processing 2018-05-20 12:26:25 +03:00
Timofey Solomko 58c854d72b [7-Zip] Improve style of guard statements 2018-05-20 12:04:44 +03:00
Timofey Solomko eaa100bc12 [LZMA] Make several internal classes final 2018-05-20 11:41:47 +03:00
Timofey Solomko 04ef9a0839 [swcomp] Print results for excluded iteration in benchmarks 2018-05-04 00:12:23 +03:00
Timofey Solomko f2afe8ca16 [swcomp] Flush stdout after printing iteration number 2018-05-02 13:59:35 +03:00
Timofey Solomko c2e2a8c801 [swcomp] Print leading zero in benchmark iteration number 2018-05-02 13:59:16 +03:00
Timofey Solomko 2d9daa17ec [swcomp] Rewrite benchmark commands using new BenchmarkCommand protocol 2018-05-01 13:22:45 +03:00
Timofey Solomko 878c3af629 [swcomp] Add BenchmarkCommand protocol and its extension with execute function
It will allow us to reduce amount of repeating code in benchmark commands.
2018-05-01 13:22:39 +03:00
Timofey Solomko cb91fd5899 [swcomp] Move source files into subfolders 2018-05-01 12:36:47 +03:00
Timofey Solomko d55607dd06 Prepare for 4.3.0 release 2018-04-29 11:27:40 +03:00
Timofey Solomko 3b8989549e Prepare for the second test release of 4.3.0 2018-04-20 19:23:29 +03:00
Timofey Solomko 5ef38a33a7 Merge branch 'develop' into release-4.3.0 2018-04-20 19:16:35 +03:00
Timofey Solomko 3d3d4a2c0e Move Comparable extension of HuffmanLength into its main file 2018-04-13 22:56:15 +03:00
Timofey Solomko 7929e58022 Synthesize Equatable conformance for HuffmanLength 2018-04-13 22:55:12 +03:00
Timofey Solomko 05268bd44e [docs] Add "missing" docs for Container.Entry and and ContainerEntry.Info
Apparently, something changed in Swift 4.1 and sourcekitten/jazzy now detects associated types and produces documentation for them.
2018-04-13 18:53:58 +03:00
Timofey Solomko 8434e7b1bd [docs] Add documentation for TarContainer.Format and formatOf(container:) 2018-04-13 18:45:28 +03:00
Timofey Solomko 7e04fe1fba [swcomp] Add --format (-f) option to TarCommand which prints format of the container 2018-04-13 18:19:17 +03:00
Timofey Solomko 477ebcf48e [TAR] Add TarContainer.formatOf function 2018-04-13 17:34:56 +03:00
Timofey Solomko 150a3cfc1f [TAR] Add internal property to entry info which shows if ustar-like magic was encountered 2018-04-13 17:34:56 +03:00
Timofey Solomko 58d96a1961 [TAR] Add Format enum 2018-04-13 17:34:56 +03:00
Timofey Solomko 156f0a0516 Prepare for first test release of 4.3.0 2018-04-11 00:43:08 +03:00
Timofey Solomko 41ca39d1fa Remove certain TODOs 2018-04-10 23:26:35 +03:00
Timofey Solomko a0ef7a3cfe Swiftlinted 2018-04-10 23:22:31 +03:00
Timofey Solomko d5c8600137 Use more new BBD functions 2018-04-10 22:37:20 +03:00
Timofey Solomko d187bd2937 Use new uint64(fromBits) function 2018-04-10 22:37:20 +03:00
Timofey Solomko 05852b179b Use new int(fromBytes:) function 2018-04-10 22:37:16 +03:00
Timofey Solomko bd8fa0561a [Benchmark] Don't take into account "first" iteration 2018-04-10 00:25:50 +03:00
Timofey Solomko 44582535ad [Benchmark] Increase iterations amount from 6 to 10 2018-04-10 00:25:46 +03:00
Timofey Solomko 6e0020b0e0 [swcomp] Updates to support SwiftCLI 4.2.0 and higher 2018-04-10 00:17:36 +03:00
Timofey Solomko 8045b7e7ab [TAR] Use info provider in info function 2018-04-07 13:44:19 +03:00
Timofey Solomko 100c9364f0 [TAR] Add entry info provider 2018-04-07 13:43:09 +03:00
Timofey Solomko 1d838c1d7e Slightly simplify and improve certain code 2018-04-07 13:38:00 +03:00
Timofey Solomko 9293210d35 All properties in huffman trees are now constant 2018-03-31 13:50:50 +03:00
Timofey Solomko d4b728125b [docs] Add documentation for ZIP custom extra fields related APIs 2018-03-31 13:46:04 +03:00
Timofey Solomko 756cf23659 [ZIP] Add preconditions which check custom extra fields properties 2018-03-31 12:25:18 +03:00
Timofey Solomko f5924af1c4 [ZIP] Correctly skip Info-ZIP Unix extra field in Central Directory 2018-03-31 12:25:18 +03:00