From b0608a3bd28b402ab33cb6b74ee97d194d8df229 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Mon, 8 Jun 2026 17:16:22 -0700 Subject: [PATCH] Remove std.zip.Decompress (unused/broken/obsolete) This API is unused, doesn't compile, and is a holdover from the previous std.zip implementation where the analogous functionality was in a decompress() function that was used within Entry.extract. The decompression functionality is now inlined in Entry.extract so this Decompress struct is superfluous. Closes #35678 --- lib/std/zip.zig | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/lib/std/zip.zig b/lib/std/zip.zig index be2a442f3de66e0cb0f912868de26e07fd180d66..a900122ab67b922ee7cb1dde1c59c344c71f3037 100644 --- a/lib/std/zip.zig +++ b/lib/std/zip.zig @@ -164,50 +164,6 @@ pub const EndRecord = extern struct { } }; -pub const Decompress = struct { - interface: Reader, - state: union { - inflate: flate.Decompress, - store: *Reader, - }, - - pub fn init(reader: *Reader, method: CompressionMethod, buffer: []u8) Reader { - return switch (method) { - .store => .{ - .state = .{ .store = reader }, - .interface = .{ - .context = undefined, - .vtable = &.{ .stream = streamStore }, - .buffer = buffer, - .end = 0, - .seek = 0, - }, - }, - .deflate => .{ - .state = .{ .inflate = .init(reader, .raw) }, - .interface = .{ - .context = undefined, - .vtable = &.{ .stream = streamDeflate }, - .buffer = buffer, - .end = 0, - .seek = 0, - }, - }, - else => unreachable, - }; - } - - fn streamStore(r: *Reader, w: *Writer, limit: std.Io.Limit) Reader.StreamError!usize { - const d: *Decompress = @fieldParentPtr("interface", r); - return d.store.read(w, limit); - } - - fn streamDeflate(r: *Reader, w: *Writer, limit: std.Io.Limit) Reader.StreamError!usize { - const d: *Decompress = @fieldParentPtr("interface", r); - return flate.Decompress.read(&d.inflate, w, limit); - } -}; - fn isBadFilename(filename: []const u8) bool { if (filename.len == 0 or filename[0] == '/') return true; -- 2.54.0