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