dweiller
a9c8376305
std.compress.zstandard: make ZstandardStream decode multiple frames
2023-02-20 09:09:06 +11:00
dweiller
06ab5a2cd2
std.compress.zstandard: add multi-frame decoding functions
2023-02-20 09:09:06 +11:00
dweiller
a625df4636
std.compress.zstandard: fix fse decoding crash
2023-02-20 09:09:06 +11:00
dweiller
1c509f483a
std.compress.zstandard: fix crashes
2023-02-20 09:09:06 +11:00
dweiller
596a97fb55
std.compress.zstandard: fix crashes
2023-02-20 09:09:06 +11:00
dweiller
a651704876
std.compress.zstandard: free allocated result on error
2023-02-20 09:09:06 +11:00
dweiller
3f1c4306ca
std.compress.zstandard: fix capitalisation of Zstandard
2023-02-20 09:09:06 +11:00
dweiller
ddeabc9aa7
std.compress.zstandard: add decodeFrameAlloc()
2023-02-20 09:09:06 +11:00
dweiller
89f9c5cb37
std.compress.zstandard: improve doc comments
2023-02-20 09:09:06 +11:00
dweiller
7e2755646f
std.compress.zstandard: split decompressor into multiple files
2023-02-20 09:09:06 +11:00
dweiller
6e3e72884b
std.compress.zstandard: fix crashes
2023-02-20 09:09:06 +11:00
dweiller
a180fcc93d
std.compress.zstandard: add ZstandardStream
2023-02-20 09:09:06 +11:00
dweiller
5723291444
std.compress.zstandard: add decodeBlockReader
2023-02-20 09:09:06 +11:00
dweiller
947ad3e268
std.compress.zstandard: add FrameContext and add literals into DecodeState
2023-02-20 09:09:06 +11:00
dweiller
2d35c16ee7
std.compress.zstandard: add init/deinit for ring buffer, fix len()
2023-02-20 09:09:06 +11:00
dweiller
e92575d3d4
std.compress.zstandard: verify checksum in decodeFrameAlloc()
2023-02-20 09:09:06 +11:00
dweiller
3bfba36548
std.compress.zstandard: clean up error sets and line lengths
2023-02-20 09:09:06 +11:00
dweiller
3c06e2e7d0
std.compress.zstandard: add doc comments for RingBuffer
2023-02-20 09:09:06 +11:00
dweiller
1e5b8be509
std.compress.zstandard: add window size limit param
2023-02-20 09:09:06 +11:00
dweiller
e2306ef0a0
std.compress.zstandard: add integer casts u64 -> usize
2023-02-20 09:09:06 +11:00
dweiller
7558bf6451
std.compress.zstandard: minor cleanup and add doc comments
2023-02-20 09:09:06 +11:00
dweiller
ab18adf5c3
std.compress.zstandard: remove debug logging
2023-02-20 09:09:06 +11:00
dweiller
d40b135e95
std.compress.zstandard: properly track consumed count in decodeFrameBlocks
2023-02-20 09:09:06 +11:00
dweiller
774e2f5a5c
std.compress.zstandard: add input length safety checks
2023-02-20 09:09:06 +11:00
dweiller
31d1cae8c6
std.compress.zstandard: validate fse table value count
2023-02-20 09:09:06 +11:00
dweiller
95953e1ee6
std.compress.zstandard: fix dictionary field size
2023-02-20 09:09:06 +11:00
dweiller
6b85373875
std.compress.zstandard: validate sequence lengths
2023-02-20 09:09:06 +11:00
dweiller
082acd7f17
std.compress.zstandard: clean up integer casts
2023-02-20 09:09:06 +11:00
dweiller
fc64c279a4
std.compress.zstandard: clean up api
2023-02-20 09:09:06 +11:00
dweiller
cbfaa876d4
std.compress.zstandard: cleanup ReverseBitReader
2023-02-20 09:09:05 +11:00
dweiller
c819e58c20
std.compress.zstandard: add decodeZStandardFrameAlloc
...
This is a convenience wrapper - best to use `decodeZStandardFrame()` if
the content size is known, or directly use `decodeBlockRingBuffer()`.
2023-02-20 09:09:05 +11:00
dweiller
05e63f241e
std.compress.zstandard: add functions decoding into ring buffer
...
This supports decoding frames that do not declare the content size or
decoding in a streaming fashion.
2023-02-20 09:09:05 +11:00
dweiller
18091723d5
std.compress.zstandard: cleanup decodeBlock
2023-02-20 09:09:05 +11:00
dweiller
61cb514387
std.compress: add zstandard decompressor
2023-02-20 09:09:05 +11:00
Andrew Kelley
aeaef8c0ff
update std lib and compiler sources to new for loop syntax
2023-02-18 19:17:21 -07:00
fn ⌃ ⌥
43c76e0c8e
Update block.zig
2023-02-05 09:18:07 -08:00
fn ⌃ ⌥
622a364715
Implement std.io.Reader for LZMA1
2023-02-05 08:23:51 -08:00
fn ⌃ ⌥
e03d6c42ea
Delete redundant lzma/lzma2 prefix in function/struct names
2023-02-05 06:52:28 -08:00
Ryan Liptak
d57813e3e9
std.compress.xz: Avoid possible integer overflow in a few places
2023-02-05 06:08:35 -08:00
fn ⌃ ⌥
8e2af21cd9
Add LZMA decoder
2023-02-02 11:59:56 -08:00
fn ⌃ ⌥
d0dedefde9
std.compress.xz: fix for big-endian targets
2023-01-25 08:49:59 -08:00
Andrew Kelley
92ea7bce5d
std.compress.xz: fix compile error on 32-bit systems
2023-01-24 15:24:19 -07:00
Andrew Kelley
d94613c1d0
support xz compressed tarballs in the package manager
...
This includes a breaking change:
std.compress.gzip.GzipStream renamed to
std.compress.gzip.Decompress
This follows the same naming convention as std.compress.xz so that the
stream type can be passed as a comptime parameter.
2023-01-24 15:24:19 -07:00
Andrew Kelley
ea9ded8758
std.compress.xz public API cleanup
...
* add xz to std.compress
* prefer importing std.zig by file name, to reduce reliance on the
standard library being a special case.
* extract some types from inside generic functions. These types are the
same regardless of the generic parameters.
* expose some more types in the std.compress.xz namespace.
* rename xz.stream to xz.decompress
* rename check.Kind to Check
* use std.leb for LEB instead of a redundant implementation
2023-01-24 15:24:19 -07:00
fn ⌃ ⌥
06ce15e8f7
Add an xz decoder to the standard library
2023-01-24 15:24:04 -07:00
fn ⌃ ⌥
f85c01d4c7
Implement gzip header CRC check.
...
From RFC 1952:
> If FHCRC is set, a CRC16 for the gzip header is present,
> immediately before the compressed data. The CRC16 consists
> of the two least significant bytes of the CRC32 for all
> bytes of the gzip header up to and not including the CRC16.
2023-01-22 00:33:29 -05:00
Andrew Kelley
da6d79c47c
water cooler complaint about gzip stream namespace
2023-01-11 15:39:48 -08:00
Veikka Tuominen
622311fb9a
update uses of overflow arithmetic builtins
2022-12-27 15:13:14 +02:00
Andrew Kelley
8f98a2b90f
std.compress.deflate: re-enable test on windows
...
closes #13892
2022-12-18 16:34:09 -07:00
Andrew Kelley
e6a4e87f69
update gitattributes and move test data into subdir
2022-12-18 16:28:30 -07:00