44 Commits

Author SHA1 Message Date
Timofey Solomko e3c41ca9a0 [BZip2] Fix grammar in comments 2026-05-22 17:16:29 +08:00
Timofey Solomko 85c8fd60aa [docs] Update BZip2 docs for multiDecompress functionality 2026-05-14 12:42:02 +08:00
Timofey Solomko 75cc406d47 [BZip2] Add multiDecompress public function
This should help with inputs consisting of multiple BZip2 archives concatenated together which were brought up in #59.
2026-05-12 16:06:19 +08:00
Timofey Solomko 93e2eef38d [BZip2] Remove redundant check for zero code lengths
Such code lengths are now filtered out during Huffman code construction.
2026-03-01 20:35:22 +08:00
Timofey Solomko f307a7fb0b [BZip2] Improve handling of truncated inputs during decompression 2026-02-23 18:08:27 +08:00
Timofey Solomko ad73d82367 [BZip2] Slightly rewrite Huffman+RUNA/B+MTF decoding
This piece of the code is now more logical, with less branching, and mirrors encoding counterpart.
2026-02-23 18:08:26 +08:00
Timofey Solomko 7af76764d7 [BZip2] Use UInt8 arrays instead of Data 2026-02-23 18:08:25 +08:00
Timofey Solomko ce1736a2b0 [Huffman] Add HuffmanCodes typealias for clarity 2026-02-18 00:10:29 +08:00
Timofey Solomko e7c4c13543 [BZip2] Code comments clarification 2026-02-11 17:21:48 +08:00
Timofey Solomko ea9aaccfb9 Update copyright year to 2026 2026-01-31 15:30:24 +08:00
Timofey Solomko ed66991cbd Update copyright year to 2024 2024-01-11 16:57:04 +03:00
Timofey Solomko 43132fc39d Update copyright year to 2023 2023-02-07 15:31:45 +02:00
Timofey Solomko 0c5cd4a9b5 [BZip2] Rework a part of BZip2.decompress for clarity 2022-01-15 20:21:26 +03:00
Timofey Solomko 79295db930 Update copyright year to 2022 2022-01-08 15:02:59 +03:00
Timofey Solomko 7a43328b8e [BZip2] Rename crc32 function for bzip2 2021-10-22 21:55:33 +03:00
Timofey Solomko f808a8b9b3 [BZip2] Fix a crash on non-standard run length greater than 255 2021-05-01 13:45:02 +03:00
Timofey Solomko 1fca632c2d Update copyright year to 2021 2021-03-26 13:50:20 +02:00
Timofey Solomko 00af5a9319 [BZip2][GZip][LZMA][XZ][Zlib] Fix crashes when opening very small files
Instead errors are now thrown.
2020-10-15 23:35:34 +03:00
Timofey Solomko ab75e0944f [BZip2] Fix compilation warning 2020-10-14 23:45:46 +03:00
Timofey Solomko a844b34436 Update copyright year to 2020 2020-03-20 09:43:42 +03:00
Timofey Solomko f6949a8f66 Replace the usage of the deprecated Data(bytes:) initializer 2020-03-20 09:40:48 +03:00
Timofey Solomko 04f64bcb72 Rename Encoding/DecodingHuffmanTree to just Encoding/DecodingTree 2019-03-12 22:31:35 +03:00
Timofey Solomko 250c9fbd4c Remove old CodeLength initializer from Decoding(Huffman)Tree 2019-03-12 22:31:13 +03:00
Timofey Solomko 7f25dbf6e7 Rename HuffmanLength to CodeLength 2019-03-12 22:28:01 +03:00
Timofey Solomko ce47019097 Update copyright year to 2019 2019-01-02 23:15:43 +03:00
Timofey Solomko d187bd2937 Use new uint64(fromBits) function 2018-04-10 22:37:20 +03:00
Timofey Solomko 4888f37f0f Revert addition of BBD-related public APIs to Zlib, LZMA and BZip2 2018-03-02 23:32:39 +03:00
Timofey Solomko ba037786b4 [LZMA] Add public decompress(from:) function which uses BBD's ByteReader as its argument 2018-02-23 12:58:24 +03:00
Timofey Solomko 8b4ff5c040 [BZip2] Make decompress(_ bitReader:) function public and add "from" label to its argument 2018-02-23 12:58:24 +03:00
Timofey Solomko 7d99ab176a [BZip2] Use not-reduced block size for decompression 2018-01-17 12:01:00 +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 7a09d5fde8 Preallocate bytes arrays in BZip2 2018-01-07 15:12:54 +03:00
Timofey Solomko 9f4884adc8 Refactor bzip2 block size parsing 2018-01-03 23:41:20 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko c8d92e56d3 Replace BitReader and ByteReader with BitByteData's implementations 2018-01-03 19:22:15 +03:00
Timofey Solomko 22bd529b3c Change return type of BitReader.bit() to UInt8 2018-01-03 19:22:13 +03:00
Timofey Solomko e05f917210 Improve compile time 2017-12-24 14:57:35 +03:00
Timofey Solomko 545e5c69fc Remove some redundancy from documentation 2017-11-14 21:35:30 +03:00
Timofey Solomko b3ebeb20be Rename BZip2Error.wrongHuffmanLengthCode to wrongHuffmanCodeLength 2017-11-10 22:20:47 +03:00
Timofey Solomko 9ae46fb84b Include last processed block in wrongCRC error of BZip2 2017-11-04 21:42:53 +03:00
Timofey Solomko 0b85d8f768 Rename BZip2Error.wrongCompressionMethod into BZip2Error.wrongVersion 2017-11-04 20:22:03 +03:00
Timofey Solomko b04cb4ceb8 Use Data instead of byte arrays in BZip2 decompression as much as possible 2017-10-31 20:18:18 +03:00
Timofey Solomko 21467899db Use new reduce function in bzip2 decompress 2017-10-07 12:27:51 +03:00
Timofey Solomko 843896edcf Move source code files into subfolders 2017-10-06 23:10:01 +03:00