treesummaryrefslogcommitdiff
path: root/git.zig
diff options
context:
space:
mode:
authorpatrick-scho2024-08-10 17:23:35 +0200
committerpatrick-scho2024-08-10 17:23:35 +0200
commit93ee72996f9dd80ef2a867a96b207e78a4aad7a2 (patch)
tree0f7413afb7060635751989020a12b6c25a6ebf8c /git.zig
parent35b99e92b6d6d478d401f5587930b7a15d6e74e0 (diff)
downloadziggit-93ee72996f9dd80ef2a867a96b207e78a4aad7a2.tar.gz
ziggit-93ee72996f9dd80ef2a867a96b207e78a4aad7a2.zip
add decompress
Diffstat (limited to 'git.zig')
-rw-r--r--git.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/git.zig b/git.zig
index e21847c..d228b50 100644
--- a/git.zig
+++ b/git.zig
@@ -30,6 +30,14 @@ const Object = struct {
// pub fn getBlob(self: *Object) Blob {}
};
+fn decompress(alloc: Alloc, r: Reader) ![]u8 {
+ var buffer = std.ArrayList(u8).init(alloc);
+
+ try std.compress.zlib.decompress(r, buffer.writer().any());
+
+ return alloc.realloc(buffer.allocatedSlice(), buffer.items.len);
+}
+
const PackFile = struct {
alloc: Alloc,
idxFile: std.fs.File,