zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 52c000c2478197a4e7b7fe883deb9e6744ee68b2 (tree)
parent db63e4725a8fe0370ec88fcbf6f5a3085f6bd767
Author: Elaine Gibson <ypsvlq@gmail.com>
Date:   Tue, 14 Apr 2026 20:44:00 +0100

std.Io.Threaded: handle haiku syscall returns correctly

Diffstat:
Mlib/std/Io/Threaded.zig | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig @@ -5803,7 +5803,7 @@ fn dirReadHaiku(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir const syscall: Syscall = try .start(); while (true) { const rc = posix.system._kern_rewind_dir(dr.dir.handle); - switch (posix.errno(rc)) { + switch (@as(posix.E, @enumFromInt(@min(rc, 0)))) { .SUCCESS => { syscall.finish(); break; @@ -5825,7 +5825,7 @@ fn dirReadHaiku(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir const syscall: Syscall = try .start(); const n: usize = while (true) { const rc = posix.system._kern_read_dir(dr.dir.handle, dr.buffer.ptr, dr.buffer.len, @truncate(dr.buffer.len / @sizeOf(posix.system.DirEnt))); - switch (posix.errno(rc)) { + switch (@as(posix.E, @enumFromInt(@min(rc, 0)))) { .SUCCESS => { syscall.finish(); break @intCast(rc); @@ -5868,7 +5868,7 @@ fn dirReadHaiku(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir const syscall: Syscall = try .start(); while (true) { const rc = posix.system._kern_read_stat(dr.dir.handle, name, false, &stat, @sizeOf(std.c.Stat)); - switch (posix.errno(rc)) { + switch (@as(posix.E, @enumFromInt(@min(rc, 0)))) { .SUCCESS => { syscall.finish(); break;