| ... | ... | @@ -124,7 +124,7 @@ pub fn findEndRecord(seekable_stream: anytype, stream_len: u64) !EndRecord { |
| 124 | 124 | |
| 125 | 125 | try seekable_stream.seekTo(stream_len - @as(u64, new_loaded_len)); |
| 126 | 126 | const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len]; |
| 127 | | const len = try seekable_stream.context.reader().readAll(read_buf); |
| 127 | const len = try (if (@TypeOf(seekable_stream.context) == std.fs.File) seekable_stream.context.deprecatedReader() else seekable_stream.context.reader()).readAll(read_buf); |
| 128 | 128 | if (len != read_len) |
| 129 | 129 | return error.ZipTruncated; |
| 130 | 130 | loaded_len = new_loaded_len; |
| ... | ... | @@ -295,7 +295,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 295 | 295 | if (locator_end_offset > stream_len) |
| 296 | 296 | return error.ZipTruncated; |
| 297 | 297 | try stream.seekTo(stream_len - locator_end_offset); |
| 298 | | const locator = try stream.context.reader().readStructEndian(EndLocator64, .little); |
| 298 | const locator = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(EndLocator64, .little); |
| 299 | 299 | if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig)) |
| 300 | 300 | return error.ZipBadLocatorSig; |
| 301 | 301 | if (locator.zip64_disk_count != 0) |
| ... | ... | @@ -305,7 +305,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 305 | 305 | |
| 306 | 306 | try stream.seekTo(locator.record_file_offset); |
| 307 | 307 | |
| 308 | | const record64 = try stream.context.reader().readStructEndian(EndRecord64, .little); |
| 308 | const record64 = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(EndRecord64, .little); |
| 309 | 309 | |
| 310 | 310 | if (!std.mem.eql(u8, &record64.signature, &end_record64_sig)) |
| 311 | 311 | return error.ZipBadEndRecord64Sig; |
| ... | ... | @@ -357,7 +357,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 357 | 357 | |
| 358 | 358 | const header_zip_offset = self.cd_zip_offset + self.cd_record_offset; |
| 359 | 359 | try self.stream.seekTo(header_zip_offset); |
| 360 | | const header = try self.stream.context.reader().readStructEndian(CentralDirectoryFileHeader, .little); |
| 360 | const header = try (if (@TypeOf(self.stream.context) == std.fs.File) self.stream.context.deprecatedReader() else self.stream.context.reader()).readStructEndian(CentralDirectoryFileHeader, .little); |
| 361 | 361 | if (!std.mem.eql(u8, &header.signature, &central_file_header_sig)) |
| 362 | 362 | return error.ZipBadCdOffset; |
| 363 | 363 | |
| ... | ... | @@ -386,7 +386,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 386 | 386 | |
| 387 | 387 | { |
| 388 | 388 | try self.stream.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len); |
| 389 | | const len = try self.stream.context.reader().readAll(extra); |
| 389 | const len = try (if (@TypeOf(self.stream.context) == std.fs.File) self.stream.context.deprecatedReader() else self.stream.context.reader()).readAll(extra); |
| 390 | 390 | if (len != extra.len) |
| 391 | 391 | return error.ZipTruncated; |
| 392 | 392 | } |
| ... | ... | @@ -449,7 +449,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 449 | 449 | try stream.seekTo(self.header_zip_offset + @sizeOf(CentralDirectoryFileHeader)); |
| 450 | 450 | |
| 451 | 451 | { |
| 452 | | const len = try stream.context.reader().readAll(filename); |
| 452 | const len = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readAll(filename); |
| 453 | 453 | if (len != filename.len) |
| 454 | 454 | return error.ZipBadFileOffset; |
| 455 | 455 | } |
| ... | ... | @@ -457,7 +457,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 457 | 457 | const local_data_header_offset: u64 = local_data_header_offset: { |
| 458 | 458 | const local_header = blk: { |
| 459 | 459 | try stream.seekTo(self.file_offset); |
| 460 | | break :blk try stream.context.reader().readStructEndian(LocalFileHeader, .little); |
| 460 | break :blk try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(LocalFileHeader, .little); |
| 461 | 461 | }; |
| 462 | 462 | if (!std.mem.eql(u8, &local_header.signature, &local_file_header_sig)) |
| 463 | 463 | return error.ZipBadFileOffset; |
| ... | ... | @@ -483,7 +483,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 483 | 483 | |
| 484 | 484 | { |
| 485 | 485 | try stream.seekTo(self.file_offset + @sizeOf(LocalFileHeader) + local_header.filename_len); |
| 486 | | const len = try stream.context.reader().readAll(extra); |
| 486 | const len = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readAll(extra); |
| 487 | 487 | if (len != extra.len) |
| 488 | 488 | return error.ZipTruncated; |
| 489 | 489 | } |
| ... | ... | @@ -552,7 +552,7 @@ pub fn Iterator(comptime SeekableStream: type) type { |
| 552 | 552 | @as(u64, @sizeOf(LocalFileHeader)) + |
| 553 | 553 | local_data_header_offset; |
| 554 | 554 | try stream.seekTo(local_data_file_offset); |
| 555 | | var limited_reader = std.io.limitedReader(stream.context.reader(), self.compressed_size); |
| 555 | var limited_reader = std.io.limitedReader((if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()), self.compressed_size); |
| 556 | 556 | const crc = try decompress( |
| 557 | 557 | self.compression_method, |
| 558 | 558 | self.uncompressed_size, |