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
31913191 try syscall.checkCancel();
31923192 continue;
31933193 },
3194 else => |e| {
3195 syscall.finish();
3196 switch (e) {
3197 .ACCES => return error.AccessDenied,
3198 .BADF => |err| return errnoBug(err), // File descriptor used after closed.
3199 .PERM => return error.PermissionDenied,
3200 .DQUOT => return error.DiskQuota,
3201 .EXIST => return error.PathAlreadyExists,
3202 .FAULT => |err| return errnoBug(err),
3203 .LOOP => return error.SymLinkLoop,
3204 .MLINK => return error.LinkQuotaExceeded,
3205 .NAMETOOLONG => return error.NameTooLong,
3206 .NOENT => return error.FileNotFound,
3207 .NOMEM => return error.SystemResources,
3208 .NOSPC => return error.NoSpaceLeft,
3209 .NOTDIR => return error.NotDir,
3210 .ROFS => return error.ReadOnlyFileSystem,
3211 // dragonfly: when dir_fd is unlinked from filesystem
3212 .NOTCONN => return error.FileNotFound,
3213 .ILSEQ => return error.BadPathName,
3214 else => |err| return posix.unexpectedErrno(err),
3215 }
3216 },
3194 .ACCES => return syscall.fail(error.AccessDenied),
3195 .PERM => return syscall.fail(error.PermissionDenied),
3196 .DQUOT => return syscall.fail(error.DiskQuota),
3197 .EXIST => return syscall.fail(error.PathAlreadyExists),
3198 .LOOP => return syscall.fail(error.SymLinkLoop),
3199 .MLINK => return syscall.fail(error.LinkQuotaExceeded),
3200 .NAMETOOLONG => return syscall.fail(error.NameTooLong),
3201 .NOENT => return syscall.fail(error.FileNotFound),
3202 .NOMEM => return syscall.fail(error.SystemResources),
3203 .NOSPC => return syscall.fail(error.NoSpaceLeft),
3204 .NOTDIR => return syscall.fail(error.NotDir),
3205 .ROFS => return syscall.fail(error.ReadOnlyFileSystem),
3206 // dragonfly: when dir_fd is unlinked from filesystem
3207 .NOTCONN => return syscall.fail(error.FileNotFound),
3208 .ILSEQ => return syscall.fail(error.BadPathName),
3209 .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
3210 .FAULT => |err| return syscall.errnoBug(err),
3211 else => |err| return syscall.unexpectedErrno(err),
32173212 }
32183213 }
32193214}
......@@ -5261,28 +5256,23 @@ fn dirOpenDirPosix(
52615256 try syscall.checkCancel();
52625257 continue;
52635258 },
5264 else => |e| {
5265 syscall.finish();
5266 switch (e) {
5267 .FAULT => |err| return errnoBug(err),
5268 .INVAL => return error.BadPathName,
5269 .BADF => |err| return errnoBug(err), // File descriptor used after closed.
5270 .ACCES => return error.AccessDenied,
5271 .LOOP => return error.SymLinkLoop,
5272 .MFILE => return error.ProcessFdQuotaExceeded,
5273 .NAMETOOLONG => return error.NameTooLong,
5274 .NFILE => return error.SystemFdQuotaExceeded,
5275 .NODEV => return error.NoDevice,
5276 .NOENT => return error.FileNotFound,
5277 .NOMEM => return error.SystemResources,
5278 .NOTDIR => return error.NotDir,
5279 .PERM => return error.PermissionDenied,
5280 .BUSY => |err| return errnoBug(err), // O_EXCL not passed
5281 .NXIO => return error.NoDevice,
5282 .ILSEQ => return error.BadPathName,
5283 else => |err| return posix.unexpectedErrno(err),
5284 }
5285 },
5259 .INVAL => return syscall.fail(error.BadPathName),
5260 .ACCES => return syscall.fail(error.AccessDenied),
5261 .LOOP => return syscall.fail(error.SymLinkLoop),
5262 .MFILE => return syscall.fail(error.ProcessFdQuotaExceeded),
5263 .NAMETOOLONG => return syscall.fail(error.NameTooLong),
5264 .NFILE => return syscall.fail(error.SystemFdQuotaExceeded),
5265 .NODEV => return syscall.fail(error.NoDevice),
5266 .NOENT => return syscall.fail(error.FileNotFound),
5267 .NOMEM => return syscall.fail(error.SystemResources),
5268 .NOTDIR => return syscall.fail(error.NotDir),
5269 .PERM => return syscall.fail(error.PermissionDenied),
5270 .NXIO => return syscall.fail(error.NoDevice),
5271 .ILSEQ => return syscall.fail(error.BadPathName),
5272 .FAULT => |err| return syscall.errnoBug(err),
5273 .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
5274 .BUSY => |err| return syscall.errnoBug(err), // O_EXCL not passed
5275 else => |err| return syscall.unexpectedErrno(err),
52865276 }
52875277 }
52885278}