authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-12-15 16:35:08-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-12-23 22:15:09-08:00
log97f106f949891870433bfcc6b7cf4c2a6709402e
treeb1ba43a1e75cab89eee46db10de98b52c1035e9c
parent22afd168d95b1d6be4a99196e07573bed8f4b472

std.Io: fix dir iteration on macOS


2 files changed, 3 insertions(+), 2 deletions(-)

lib/std/Io/Dir.zig+1-1
......@@ -95,7 +95,7 @@ pub const Reader = struct {
9595 dir: Dir,
9696 state: State,
9797 /// Stores I/O implementation specific data.
98 buffer: []u8 align(@alignOf(usize)),
98 buffer: []align(@alignOf(usize)) u8,
9999 /// Index of next entry in `buffer`.
100100 index: usize,
101101 /// Fill position of `buffer`.
lib/std/Io/Threaded.zig+2-1
......@@ -3406,11 +3406,12 @@ fn dirReadDarwin(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Di
34063406 const Header = extern struct {
34073407 seek: i64,
34083408 };
3409 const header: *Header = @ptrCast(&dr.buffer);
3409 const header: *Header = @ptrCast(dr.buffer.ptr);
34103410 const header_end: usize = @sizeOf(Header);
34113411 if (dr.index < header_end) {
34123412 // Initialize header.
34133413 dr.index = header_end;
3414 dr.end = header_end;
34143415 header.* = .{ .seek = 0 };
34153416 }
34163417 var buffer_index: usize = 0;