mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
std: fix a couple compilation errors
This commit is contained in:
parent
f04bc71ed7
commit
ef8d7aa251
@ -611,7 +611,7 @@ pub fn unlockStdErr() void {
|
||||
const stderr_writer: *Writer = &stderr_file_writer.interface;
|
||||
/// Protected by `stderr_mutex`.
|
||||
var stderr_file_writer: std.fs.File.Writer = .{
|
||||
.interface = std.fs.File.Writer.init_interface(&.{}),
|
||||
.interface = std.fs.File.Writer.initInterface(&.{}),
|
||||
.file = if (is_windows) undefined else .stderr(),
|
||||
.mode = .streaming,
|
||||
};
|
||||
@ -628,7 +628,7 @@ pub fn lockStderrWriter(buffer: []u8) *Writer {
|
||||
if (is_windows) stderr_file_writer.file = .stderr();
|
||||
stderr_writer.flush() catch {};
|
||||
stderr_writer.buffer = buffer;
|
||||
return &stderr_writer;
|
||||
return stderr_writer;
|
||||
}
|
||||
|
||||
pub fn unlockStderrWriter() void {
|
||||
|
||||
@ -993,7 +993,7 @@ pub const Reader = struct {
|
||||
};
|
||||
var remaining = std.math.cast(u64, offset) orelse return seek_err;
|
||||
while (remaining > 0) {
|
||||
const n = discard(r, .limited(remaining)) catch |err| {
|
||||
const n = discard(&r.interface, .limited(remaining)) catch |err| {
|
||||
r.seek_err = err;
|
||||
return err;
|
||||
};
|
||||
@ -1252,25 +1252,29 @@ pub const Writer = struct {
|
||||
/// vectors through the underlying write calls as possible.
|
||||
const max_buffers_len = 16;
|
||||
|
||||
pub fn init(file: File, buffer: []u8) std.io.Writer {
|
||||
pub fn init(file: File, buffer: []u8) Writer {
|
||||
return initMode(file, buffer, .positional);
|
||||
}
|
||||
|
||||
pub fn initMode(file: File, buffer: []u8, init_mode: Writer.Mode) std.io.Writer {
|
||||
pub fn initMode(file: File, buffer: []u8, init_mode: Writer.Mode) Writer {
|
||||
return .{
|
||||
.file = file,
|
||||
.interface = .{
|
||||
.context = undefined,
|
||||
.vtable = &.{
|
||||
.drain = drain,
|
||||
.sendFile = sendFile,
|
||||
},
|
||||
.buffer = buffer,
|
||||
},
|
||||
.interface = initInterface(buffer),
|
||||
.mode = init_mode,
|
||||
};
|
||||
}
|
||||
|
||||
pub fn initInterface(buffer: []u8) std.io.Writer {
|
||||
return .{
|
||||
.context = undefined,
|
||||
.vtable = &.{
|
||||
.drain = drain,
|
||||
.sendFile = sendFile,
|
||||
},
|
||||
.buffer = buffer,
|
||||
};
|
||||
}
|
||||
|
||||
pub fn moveToReader(w: *Writer) Reader {
|
||||
defer w.* = undefined;
|
||||
return .{
|
||||
@ -1335,7 +1339,11 @@ pub const Writer = struct {
|
||||
};
|
||||
}
|
||||
|
||||
pub fn sendFile(io_writer: *Writer, file_reader: *Reader, limit: std.io.Limit) std.io.Writer.FileError!usize {
|
||||
pub fn sendFile(
|
||||
io_writer: *std.io.Writer,
|
||||
file_reader: *Reader,
|
||||
limit: std.io.Limit,
|
||||
) std.io.Writer.FileError!usize {
|
||||
const w: *Writer = @fieldParentPtr("interface", io_writer);
|
||||
const out_fd = w.file.handle;
|
||||
const in_fd = file_reader.file.handle;
|
||||
|
||||
@ -162,7 +162,7 @@ pub fn defaultDiscard(r: *Reader, limit: Limit) Error!usize {
|
||||
};
|
||||
if (n > @intFromEnum(limit)) {
|
||||
const over_amt = n - @intFromEnum(limit);
|
||||
assert(over_amt <= w.buffer.end); // limit may be exceeded only by an amount within buffer capacity.
|
||||
assert(over_amt <= w.buffer.len); // limit may be exceeded only by an amount within buffer capacity.
|
||||
r.seek = w.end - over_amt;
|
||||
r.end = w.end;
|
||||
return @intFromEnum(limit);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user