authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-06-16 09:56:07-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-01 16:35:29-07:00
logef8d7aa25110699aa5ba9d4e0825155faa8c4319
tree94415c76b23d07ac37db7d8e71c8c8c116140fb4
parentf04bc71ed7b7e8ced8c3b6a8b130b16c8978de78

std: fix a couple compilation errors


3 files changed, 23 insertions(+), 15 deletions(-)

lib/std/Progress.zig+2-2
......@@ -611,7 +611,7 @@ pub fn unlockStdErr() void {
611611const stderr_writer: *Writer = &stderr_file_writer.interface;
612612/// Protected by `stderr_mutex`.
613613var stderr_file_writer: std.fs.File.Writer = .{
614 .interface = std.fs.File.Writer.init_interface(&.{}),
614 .interface = std.fs.File.Writer.initInterface(&.{}),
615615 .file = if (is_windows) undefined else .stderr(),
616616 .mode = .streaming,
617617};
......@@ -628,7 +628,7 @@ pub fn lockStderrWriter(buffer: []u8) *Writer {
628628 if (is_windows) stderr_file_writer.file = .stderr();
629629 stderr_writer.flush() catch {};
630630 stderr_writer.buffer = buffer;
631 return &stderr_writer;
631 return stderr_writer;
632632}
633633
634634pub fn unlockStderrWriter() void {
lib/std/fs/File.zig+20-12
......@@ -993,7 +993,7 @@ pub const Reader = struct {
993993 };
994994 var remaining = std.math.cast(u64, offset) orelse return seek_err;
995995 while (remaining > 0) {
996 const n = discard(r, .limited(remaining)) catch |err| {
996 const n = discard(&r.interface, .limited(remaining)) catch |err| {
997997 r.seek_err = err;
998998 return err;
999999 };
......@@ -1252,25 +1252,29 @@ pub const Writer = struct {
12521252 /// vectors through the underlying write calls as possible.
12531253 const max_buffers_len = 16;
12541254
1255 pub fn init(file: File, buffer: []u8) std.io.Writer {
1255 pub fn init(file: File, buffer: []u8) Writer {
12561256 return initMode(file, buffer, .positional);
12571257 }
12581258
1259 pub fn initMode(file: File, buffer: []u8, init_mode: Writer.Mode) std.io.Writer {
1259 pub fn initMode(file: File, buffer: []u8, init_mode: Writer.Mode) Writer {
12601260 return .{
12611261 .file = file,
1262 .interface = .{
1263 .context = undefined,
1264 .vtable = &.{
1265 .drain = drain,
1266 .sendFile = sendFile,
1267 },
1268 .buffer = buffer,
1269 },
1262 .interface = initInterface(buffer),
12701263 .mode = init_mode,
12711264 };
12721265 }
12731266
1267 pub fn initInterface(buffer: []u8) std.io.Writer {
1268 return .{
1269 .context = undefined,
1270 .vtable = &.{
1271 .drain = drain,
1272 .sendFile = sendFile,
1273 },
1274 .buffer = buffer,
1275 };
1276 }
1277
12741278 pub fn moveToReader(w: *Writer) Reader {
12751279 defer w.* = undefined;
12761280 return .{
......@@ -1335,7 +1339,11 @@ pub const Writer = struct {
13351339 };
13361340 }
13371341
1338 pub fn sendFile(io_writer: *Writer, file_reader: *Reader, limit: std.io.Limit) std.io.Writer.FileError!usize {
1342 pub fn sendFile(
1343 io_writer: *std.io.Writer,
1344 file_reader: *Reader,
1345 limit: std.io.Limit,
1346 ) std.io.Writer.FileError!usize {
13391347 const w: *Writer = @fieldParentPtr("interface", io_writer);
13401348 const out_fd = w.file.handle;
13411349 const in_fd = file_reader.file.handle;
lib/std/io/Reader.zig+1-1
......@@ -162,7 +162,7 @@ pub fn defaultDiscard(r: *Reader, limit: Limit) Error!usize {
162162 };
163163 if (n > @intFromEnum(limit)) {
164164 const over_amt = n - @intFromEnum(limit);
165 assert(over_amt <= w.buffer.end); // limit may be exceeded only by an amount within buffer capacity.
165 assert(over_amt <= w.buffer.len); // limit may be exceeded only by an amount within buffer capacity.
166166 r.seek = w.end - over_amt;
167167 r.end = w.end;
168168 return @intFromEnum(limit);