authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-04 15:31:42-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-05 16:30:33-08:00
log76d275b20f4ba420f741e019a7456ca392c040e4
tree4ef0b2758901690591c1139ffa63146cd2bfaf6e
parent387d550b6c3e73989513ea720437fdc5aac195d3

std.Io.Threaded: flatten some switch cases


1 files changed, 35 insertions(+), 45 deletions(-)

lib/std/Io/Threaded.zig+35-45
...@@ -3191,29 +3191,24 @@ fn dirCreateDirPosix(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, perm...@@ -3191,29 +3191,24 @@ fn dirCreateDirPosix(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, perm
3191 try syscall.checkCancel();3191 try syscall.checkCancel();
3192 continue;3192 continue;
3193 },3193 },
3194 else => |e| {3194 .ACCES => return syscall.fail(error.AccessDenied),
3195 syscall.finish();3195 .PERM => return syscall.fail(error.PermissionDenied),
3196 switch (e) {3196 .DQUOT => return syscall.fail(error.DiskQuota),
3197 .ACCES => return error.AccessDenied,3197 .EXIST => return syscall.fail(error.PathAlreadyExists),
3198 .BADF => |err| return errnoBug(err), // File descriptor used after closed.3198 .LOOP => return syscall.fail(error.SymLinkLoop),
3199 .PERM => return error.PermissionDenied,3199 .MLINK => return syscall.fail(error.LinkQuotaExceeded),
3200 .DQUOT => return error.DiskQuota,3200 .NAMETOOLONG => return syscall.fail(error.NameTooLong),
3201 .EXIST => return error.PathAlreadyExists,3201 .NOENT => return syscall.fail(error.FileNotFound),
3202 .FAULT => |err| return errnoBug(err),3202 .NOMEM => return syscall.fail(error.SystemResources),
3203 .LOOP => return error.SymLinkLoop,3203 .NOSPC => return syscall.fail(error.NoSpaceLeft),
3204 .MLINK => return error.LinkQuotaExceeded,3204 .NOTDIR => return syscall.fail(error.NotDir),
3205 .NAMETOOLONG => return error.NameTooLong,3205 .ROFS => return syscall.fail(error.ReadOnlyFileSystem),
3206 .NOENT => return error.FileNotFound,3206 // dragonfly: when dir_fd is unlinked from filesystem
3207 .NOMEM => return error.SystemResources,3207 .NOTCONN => return syscall.fail(error.FileNotFound),
3208 .NOSPC => return error.NoSpaceLeft,3208 .ILSEQ => return syscall.fail(error.BadPathName),
3209 .NOTDIR => return error.NotDir,3209 .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
3210 .ROFS => return error.ReadOnlyFileSystem,3210 .FAULT => |err| return syscall.errnoBug(err),
3211 // dragonfly: when dir_fd is unlinked from filesystem3211 else => |err| return syscall.unexpectedErrno(err),
3212 .NOTCONN => return error.FileNotFound,
3213 .ILSEQ => return error.BadPathName,
3214 else => |err| return posix.unexpectedErrno(err),
3215 }
3216 },
3217 }3212 }
3218 }3213 }
3219}3214}
...@@ -5261,28 +5256,23 @@ fn dirOpenDirPosix(...@@ -5261,28 +5256,23 @@ fn dirOpenDirPosix(
5261 try syscall.checkCancel();5256 try syscall.checkCancel();
5262 continue;5257 continue;
5263 },5258 },
5264 else => |e| {5259 .INVAL => return syscall.fail(error.BadPathName),
5265 syscall.finish();5260 .ACCES => return syscall.fail(error.AccessDenied),
5266 switch (e) {5261 .LOOP => return syscall.fail(error.SymLinkLoop),
5267 .FAULT => |err| return errnoBug(err),5262 .MFILE => return syscall.fail(error.ProcessFdQuotaExceeded),
5268 .INVAL => return error.BadPathName,5263 .NAMETOOLONG => return syscall.fail(error.NameTooLong),
5269 .BADF => |err| return errnoBug(err), // File descriptor used after closed.5264 .NFILE => return syscall.fail(error.SystemFdQuotaExceeded),
5270 .ACCES => return error.AccessDenied,5265 .NODEV => return syscall.fail(error.NoDevice),
5271 .LOOP => return error.SymLinkLoop,5266 .NOENT => return syscall.fail(error.FileNotFound),
5272 .MFILE => return error.ProcessFdQuotaExceeded,5267 .NOMEM => return syscall.fail(error.SystemResources),
5273 .NAMETOOLONG => return error.NameTooLong,5268 .NOTDIR => return syscall.fail(error.NotDir),
5274 .NFILE => return error.SystemFdQuotaExceeded,5269 .PERM => return syscall.fail(error.PermissionDenied),
5275 .NODEV => return error.NoDevice,5270 .NXIO => return syscall.fail(error.NoDevice),
5276 .NOENT => return error.FileNotFound,5271 .ILSEQ => return syscall.fail(error.BadPathName),
5277 .NOMEM => return error.SystemResources,5272 .FAULT => |err| return syscall.errnoBug(err),
5278 .NOTDIR => return error.NotDir,5273 .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
5279 .PERM => return error.PermissionDenied,5274 .BUSY => |err| return syscall.errnoBug(err), // O_EXCL not passed
5280 .BUSY => |err| return errnoBug(err), // O_EXCL not passed5275 else => |err| return syscall.unexpectedErrno(err),
5281 .NXIO => return error.NoDevice,
5282 .ILSEQ => return error.BadPathName,
5283 else => |err| return posix.unexpectedErrno(err),
5284 }
5285 },
5286 }5276 }
5287 }5277 }
5288}5278}