authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2026-06-08 17:16:22-07:00
committergravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2026-06-08 17:16:22-07:00
logb0608a3bd28b402ab33cb6b74ee97d194d8df229
tree008bb2fece4ab2663be2c4c7cbcf6030e2c466b8
parent20b3aa3bcd55ad8f3f545f5ab0f0c2ac7122e2a2

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

1 files changed, 0 insertions(+), 44 deletions(-)

lib/std/zip.zig-44
......@@ -164,50 +164,6 @@ pub const EndRecord = extern struct {
164164 }
165165};
166166
167pub const Decompress = struct {
168 interface: Reader,
169 state: union {
170 inflate: flate.Decompress,
171 store: *Reader,
172 },
173
174 pub fn init(reader: *Reader, method: CompressionMethod, buffer: []u8) Reader {
175 return switch (method) {
176 .store => .{
177 .state = .{ .store = reader },
178 .interface = .{
179 .context = undefined,
180 .vtable = &.{ .stream = streamStore },
181 .buffer = buffer,
182 .end = 0,
183 .seek = 0,
184 },
185 },
186 .deflate => .{
187 .state = .{ .inflate = .init(reader, .raw) },
188 .interface = .{
189 .context = undefined,
190 .vtable = &.{ .stream = streamDeflate },
191 .buffer = buffer,
192 .end = 0,
193 .seek = 0,
194 },
195 },
196 else => unreachable,
197 };
198 }
199
200 fn streamStore(r: *Reader, w: *Writer, limit: std.Io.Limit) Reader.StreamError!usize {
201 const d: *Decompress = @fieldParentPtr("interface", r);
202 return d.store.read(w, limit);
203 }
204
205 fn streamDeflate(r: *Reader, w: *Writer, limit: std.Io.Limit) Reader.StreamError!usize {
206 const d: *Decompress = @fieldParentPtr("interface", r);
207 return flate.Decompress.read(&d.inflate, w, limit);
208 }
209};
210
211167fn isBadFilename(filename: []const u8) bool {
212168 if (filename.len == 0 or filename[0] == '/')
213169 return true;