mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
std.zip: work around deprecated API
This commit is contained in:
parent
f4720e1407
commit
6489907662
@ -1800,12 +1800,12 @@ pub const Writer = struct {
|
|||||||
w.pos += n;
|
w.pos += n;
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
const copy_file_range_fn = switch (native_os) {
|
const copy_file_range = switch (native_os) {
|
||||||
.freebsd => std.os.freebsd.copy_file_range,
|
.freebsd => std.os.freebsd.copy_file_range,
|
||||||
.linux => if (std.c.versionCheck(.{ .major = 2, .minor = 27, .patch = 0 })) std.os.linux.wrapped.copy_file_range else null,
|
.linux => if (std.c.versionCheck(.{ .major = 2, .minor = 27, .patch = 0 })) std.os.linux.wrapped.copy_file_range else void,
|
||||||
else => null,
|
else => void,
|
||||||
};
|
};
|
||||||
if (copy_file_range_fn) |copy_file_range| cfr: {
|
if (copy_file_range != void) cfr: {
|
||||||
if (w.copy_file_range_err != null) break :cfr;
|
if (w.copy_file_range_err != null) break :cfr;
|
||||||
const buffered = limit.slice(file_reader.interface.buffer);
|
const buffered = limit.slice(file_reader.interface.buffer);
|
||||||
if (io_w.end != 0 or buffered.len != 0) return drain(io_w, &.{buffered}, 1);
|
if (io_w.end != 0 or buffered.len != 0) return drain(io_w, &.{buffered}, 1);
|
||||||
|
|||||||
@ -124,7 +124,7 @@ pub fn findEndRecord(seekable_stream: anytype, stream_len: u64) !EndRecord {
|
|||||||
|
|
||||||
try seekable_stream.seekTo(stream_len - @as(u64, new_loaded_len));
|
try seekable_stream.seekTo(stream_len - @as(u64, new_loaded_len));
|
||||||
const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len];
|
const read_buf: []u8 = buf[buf.len - new_loaded_len ..][0..read_len];
|
||||||
const len = try seekable_stream.context.reader().readAll(read_buf);
|
const len = try (if (@TypeOf(seekable_stream.context) == std.fs.File) seekable_stream.context.deprecatedReader() else seekable_stream.context.reader()).readAll(read_buf);
|
||||||
if (len != read_len)
|
if (len != read_len)
|
||||||
return error.ZipTruncated;
|
return error.ZipTruncated;
|
||||||
loaded_len = new_loaded_len;
|
loaded_len = new_loaded_len;
|
||||||
@ -295,7 +295,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
if (locator_end_offset > stream_len)
|
if (locator_end_offset > stream_len)
|
||||||
return error.ZipTruncated;
|
return error.ZipTruncated;
|
||||||
try stream.seekTo(stream_len - locator_end_offset);
|
try stream.seekTo(stream_len - locator_end_offset);
|
||||||
const locator = try stream.context.reader().readStructEndian(EndLocator64, .little);
|
const locator = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(EndLocator64, .little);
|
||||||
if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig))
|
if (!std.mem.eql(u8, &locator.signature, &end_locator64_sig))
|
||||||
return error.ZipBadLocatorSig;
|
return error.ZipBadLocatorSig;
|
||||||
if (locator.zip64_disk_count != 0)
|
if (locator.zip64_disk_count != 0)
|
||||||
@ -305,7 +305,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
|
|
||||||
try stream.seekTo(locator.record_file_offset);
|
try stream.seekTo(locator.record_file_offset);
|
||||||
|
|
||||||
const record64 = try stream.context.reader().readStructEndian(EndRecord64, .little);
|
const record64 = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(EndRecord64, .little);
|
||||||
|
|
||||||
if (!std.mem.eql(u8, &record64.signature, &end_record64_sig))
|
if (!std.mem.eql(u8, &record64.signature, &end_record64_sig))
|
||||||
return error.ZipBadEndRecord64Sig;
|
return error.ZipBadEndRecord64Sig;
|
||||||
@ -357,7 +357,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
|
|
||||||
const header_zip_offset = self.cd_zip_offset + self.cd_record_offset;
|
const header_zip_offset = self.cd_zip_offset + self.cd_record_offset;
|
||||||
try self.stream.seekTo(header_zip_offset);
|
try self.stream.seekTo(header_zip_offset);
|
||||||
const header = try self.stream.context.reader().readStructEndian(CentralDirectoryFileHeader, .little);
|
const header = try (if (@TypeOf(self.stream.context) == std.fs.File) self.stream.context.deprecatedReader() else self.stream.context.reader()).readStructEndian(CentralDirectoryFileHeader, .little);
|
||||||
if (!std.mem.eql(u8, &header.signature, ¢ral_file_header_sig))
|
if (!std.mem.eql(u8, &header.signature, ¢ral_file_header_sig))
|
||||||
return error.ZipBadCdOffset;
|
return error.ZipBadCdOffset;
|
||||||
|
|
||||||
@ -386,7 +386,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
|
|
||||||
{
|
{
|
||||||
try self.stream.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len);
|
try self.stream.seekTo(header_zip_offset + @sizeOf(CentralDirectoryFileHeader) + header.filename_len);
|
||||||
const len = try self.stream.context.reader().readAll(extra);
|
const len = try (if (@TypeOf(self.stream.context) == std.fs.File) self.stream.context.deprecatedReader() else self.stream.context.reader()).readAll(extra);
|
||||||
if (len != extra.len)
|
if (len != extra.len)
|
||||||
return error.ZipTruncated;
|
return error.ZipTruncated;
|
||||||
}
|
}
|
||||||
@ -449,7 +449,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
try stream.seekTo(self.header_zip_offset + @sizeOf(CentralDirectoryFileHeader));
|
try stream.seekTo(self.header_zip_offset + @sizeOf(CentralDirectoryFileHeader));
|
||||||
|
|
||||||
{
|
{
|
||||||
const len = try stream.context.reader().readAll(filename);
|
const len = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readAll(filename);
|
||||||
if (len != filename.len)
|
if (len != filename.len)
|
||||||
return error.ZipBadFileOffset;
|
return error.ZipBadFileOffset;
|
||||||
}
|
}
|
||||||
@ -457,7 +457,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
const local_data_header_offset: u64 = local_data_header_offset: {
|
const local_data_header_offset: u64 = local_data_header_offset: {
|
||||||
const local_header = blk: {
|
const local_header = blk: {
|
||||||
try stream.seekTo(self.file_offset);
|
try stream.seekTo(self.file_offset);
|
||||||
break :blk try stream.context.reader().readStructEndian(LocalFileHeader, .little);
|
break :blk try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readStructEndian(LocalFileHeader, .little);
|
||||||
};
|
};
|
||||||
if (!std.mem.eql(u8, &local_header.signature, &local_file_header_sig))
|
if (!std.mem.eql(u8, &local_header.signature, &local_file_header_sig))
|
||||||
return error.ZipBadFileOffset;
|
return error.ZipBadFileOffset;
|
||||||
@ -483,7 +483,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
|
|
||||||
{
|
{
|
||||||
try stream.seekTo(self.file_offset + @sizeOf(LocalFileHeader) + local_header.filename_len);
|
try stream.seekTo(self.file_offset + @sizeOf(LocalFileHeader) + local_header.filename_len);
|
||||||
const len = try stream.context.reader().readAll(extra);
|
const len = try (if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()).readAll(extra);
|
||||||
if (len != extra.len)
|
if (len != extra.len)
|
||||||
return error.ZipTruncated;
|
return error.ZipTruncated;
|
||||||
}
|
}
|
||||||
@ -552,7 +552,7 @@ pub fn Iterator(comptime SeekableStream: type) type {
|
|||||||
@as(u64, @sizeOf(LocalFileHeader)) +
|
@as(u64, @sizeOf(LocalFileHeader)) +
|
||||||
local_data_header_offset;
|
local_data_header_offset;
|
||||||
try stream.seekTo(local_data_file_offset);
|
try stream.seekTo(local_data_file_offset);
|
||||||
var limited_reader = std.io.limitedReader(stream.context.reader(), self.compressed_size);
|
var limited_reader = std.io.limitedReader((if (@TypeOf(stream.context) == std.fs.File) stream.context.deprecatedReader() else stream.context.reader()), self.compressed_size);
|
||||||
const crc = try decompress(
|
const crc = try decompress(
|
||||||
self.compression_method,
|
self.compression_method,
|
||||||
self.uncompressed_size,
|
self.uncompressed_size,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user