aboutsummaryrefslogtreecommitdiff
path: root/src/Package/Fetch.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-02-15 10:55:40 -0800
committerGitHub <noreply@github.com>2024-02-15 10:55:40 -0800
commit57d6f789de1d5fed5006aa3cefeb5b005bbdf6d6 (patch)
tree5bf9efbcd7ad173d714bd549bae90af66761fb7b /src/Package/Fetch.zig
parent7204eccf5cbf32977b779181de871559b478511d (diff)
parent99cb201438e9458547082b35e1dd7c7c46c8c1bd (diff)
downloadzig-57d6f789de1d5fed5006aa3cefeb5b005bbdf6d6.tar.gz
zig-57d6f789de1d5fed5006aa3cefeb5b005bbdf6d6.zip
Merge pull request #18923 from ianic/add_flate
add deflate implemented from first principles
Diffstat (limited to 'src/Package/Fetch.zig')
-rw-r--r--src/Package/Fetch.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Package/Fetch.zig b/src/Package/Fetch.zig
index fb9d7c823c..ed3c6b099f 100644
--- a/src/Package/Fetch.zig
+++ b/src/Package/Fetch.zig
@@ -1099,7 +1099,12 @@ fn unpackResource(
switch (file_type) {
.tar => try unpackTarball(f, tmp_directory.handle, resource.reader()),
- .@"tar.gz" => try unpackTarballCompressed(f, tmp_directory.handle, resource, std.compress.gzip),
+ .@"tar.gz" => {
+ const reader = resource.reader();
+ var br = std.io.bufferedReaderSize(std.crypto.tls.max_ciphertext_record_len, reader);
+ var dcp = std.compress.gzip.decompressor(br.reader());
+ try unpackTarball(f, tmp_directory.handle, dcp.reader());
+ },
.@"tar.xz" => try unpackTarballCompressed(f, tmp_directory.handle, resource, std.compress.xz),
.@"tar.zst" => try unpackTarballCompressed(f, tmp_directory.handle, resource, ZstdWrapper),
.git_pack => unpackGitPack(f, tmp_directory.handle, resource) catch |err| switch (err) {