1539 Commits

Author SHA1 Message Date
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
Timofey Solomko 0dc93bb077 [ZIP] Make names of properties of Standard extra fields shorter 2018-03-31 12:25:18 +03:00
Timofey Solomko e35ea703dc [ZIP] Add support for custom extra fields 2018-03-31 12:25:17 +03:00
Timofey Solomko 6ae80d98a6 [ZIP] Use new Standard Extra Field structs in central directory, local header and entry info 2018-03-31 12:25:17 +03:00
Timofey Solomko de0fcec3cc [ZIP] Add structs for all "standard" extra fields
These "standard" extra fields are already implemented in LocalHeader/CDEntry.
2018-03-31 12:25:17 +03:00
Timofey Solomko afa5799df2 [ZIP] Add ZipExtraField protocol and ZipExtraFieldLocation enum 2018-03-31 12:25:17 +03:00
Timofey Solomko c9ea4f33fc [TAR] Use special entry type internal property of TarEntryInfo instead of several isSomething properties 2018-03-31 12:15:43 +03:00
Timofey Solomko 67f5ebba0f [TAR] Add nested SpecialEntryType enum into TarEntryInfo 2018-03-31 12:14:28 +03:00
Timofey Solomko 112fa8bbb0 Date init from ntfs timestamp is no longer failable
The only reason for it to be was to propagate optionality of UInt64 argument. Instead we can if-let ntfs timestamp and call this initializer with non-optional argument. We also now force-unwrap ntfsReferenceDate, since it is likely to be a system problem if we cannot create definetely correct date from its components.
2018-03-25 23:42:53 +03:00