std.Io: fix dir iteration on macOS

This commit is contained in:
Andrew Kelley 2025-12-15 16:35:08 -08:00
parent 22afd168d9
commit 97f106f949
2 changed files with 3 additions and 2 deletions

View file

@ -95,7 +95,7 @@ pub const Reader = struct {
dir: Dir,
state: State,
/// Stores I/O implementation specific data.
buffer: []u8 align(@alignOf(usize)),
buffer: []align(@alignOf(usize)) u8,
/// Index of next entry in `buffer`.
index: usize,
/// Fill position of `buffer`.

View file

@ -3406,11 +3406,12 @@ fn dirReadDarwin(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Di
const Header = extern struct {
seek: i64,
};
const header: *Header = @ptrCast(&dr.buffer);
const header: *Header = @ptrCast(dr.buffer.ptr);
const header_end: usize = @sizeOf(Header);
if (dr.index < header_end) {
// Initialize header.
dr.index = header_end;
dr.end = header_end;
header.* = .{ .seek = 0 };
}
var buffer_index: usize = 0;