Ian Johnson
96be6f6566
std.compress.flate.Decompress: return correct size for unbuffered decompression
...
Closes #24686
As a bonus, this commit also makes the `git.zig` "testing `main`" compile again.
2025-08-04 19:32:14 -07:00
Andrew Kelley
a6f7927764
std.compress.flate.Decompress: use 64 buffered bits
...
will have to find out why usize doesn't work for 32 bit targets some
other time
2025-08-01 09:04:27 -07:00
Andrew Kelley
64814dc986
std.compress.flate.Decompress: respect stream limit
2025-07-31 22:10:11 -07:00
Andrew Kelley
a7808892f7
std.compress.flate.Decompress: be in indirect or direct mode
...
depending on whether buffered
2025-07-31 22:10:11 -07:00
Andrew Kelley
6eac56caf7
std.compress.flate.Decompress: allow users to swap out Writer
2025-07-31 22:10:11 -07:00
Andrew Kelley
c9ff068391
std.compress: fix discard impl and flate error detection
2025-07-31 22:10:11 -07:00
Andrew Kelley
111305678c
std: match readVec fn prototype exactly
...
this is not necessary according to zig language, but works around a flaw
in the C backend
2025-07-31 22:10:11 -07:00
Andrew Kelley
84e4343b0c
fix test failures by adding readVec
2025-07-31 22:10:11 -07:00
Andrew Kelley
afe9f3a9ec
std.compress.flate.Decompress: implement readVec and discard
2025-07-31 22:10:11 -07:00
Andrew Kelley
6bcced31a0
fix 32-bit compilation
2025-07-31 22:10:11 -07:00
Andrew Kelley
42b10f08cc
std.compress.flate.Decompress: delete bad unit tests
...
if I remove the last input byte from "don't read past deflate stream's
end" (on master branch), the test fails with error.EndOfStream. what,
then, is it supposed to be testing?
2025-07-31 22:10:11 -07:00
Andrew Kelley
5f790464b0
std.compress.flate.Decompress: hashing is out of scope
...
This API provides the data; applications can verify their own checksums.
2025-07-31 22:10:11 -07:00
Andrew Kelley
4741a16d9a
putting stuff back does not require mutation
2025-07-31 22:10:11 -07:00
Andrew Kelley
05ce1f99a6
compiler: update to new flate API
2025-07-31 22:10:11 -07:00
Andrew Kelley
2569f4ff85
simplify tossBitsEnding
2025-07-31 22:10:11 -07:00
Andrew Kelley
5bc63794cc
fix takeBitsEnding
2025-07-31 22:10:11 -07:00
Andrew Kelley
63f496c4f9
make takeBits deal with integers only
2025-07-31 22:10:11 -07:00
Andrew Kelley
c00fb86db6
fix peekBitsEnding
2025-07-31 22:10:11 -07:00
Andrew Kelley
8ab91a6fe9
error.EndOfStream disambiguation
2025-07-31 22:10:11 -07:00
Andrew Kelley
f644f40702
implement tossBitsEnding
2025-07-31 22:10:11 -07:00
Andrew Kelley
2d8d0dd9b0
std.compress.flate.Decompress: unfuck the test suite
2025-07-31 22:10:11 -07:00
Andrew Kelley
c684b21b4f
simplify test cases
2025-07-31 22:10:11 -07:00
Andrew Kelley
ac4fbb427b
std.compress.flate.Decompress: don't compute checksums
...
These have no business being in-bound; simply provide the expected
values to user code for maximum flexibility.
2025-07-31 22:10:11 -07:00
Andrew Kelley
5f571f53d6
refactor gzip test cases
...
zig newbies love using for loops in unit tests
2025-07-31 22:10:11 -07:00
Andrew Kelley
e73ca2444e
std.compress.flate.Decompress: implement peekBitsEnding and writeMatch
2025-07-31 22:10:11 -07:00
Andrew Kelley
7bf91d705c
fix bit read not at eof
2025-07-31 22:10:11 -07:00
Andrew Kelley
73e5594c78
std.compress.flate.Decompress: fix bit read at eof
2025-07-31 22:10:11 -07:00
Andrew Kelley
9c8cb777d4
std.compress.flate.Decompress: implement more bit reading
2025-07-31 22:10:11 -07:00
Andrew Kelley
6509fa1cf3
std.compress.flate.Decompress: passing basic test case
2025-07-31 22:10:11 -07:00
Andrew Kelley
88ca750209
std.compress.flate.Decompress: add rebase impl
2025-07-31 22:10:11 -07:00
Andrew Kelley
824c157e0c
std.compress.flate: finish reorganizing
2025-07-31 22:10:11 -07:00
Andrew Kelley
a4f05a4588
delete flate implementation
2025-07-31 22:10:11 -07:00
Andrew Kelley
83513ade35
std.compress: rework flate to new I/O API
2025-07-31 22:10:11 -07:00