commit 390c7d84b24355ba3346ec1214a0a8de8a7c5df3 (tree)
parent ed7f11ffa75877896a2723505589499866864e50
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sun, 28 Jul 2024 22:29:31 -0700
Merge pull request #19833 from tealsnow/posix-INVAL
std.posix: handle INVAL in openZ, openatZ and openatWasi
Diffstat:
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/std/posix.zig b/lib/std/posix.zig
@@ -1598,7 +1598,7 @@ pub fn openZ(file_path: [*:0]const u8, flags: O, perm: mode_t) OpenError!fd_t {
.INTR => continue,
.FAULT => unreachable,
- .INVAL => unreachable,
+ .INVAL => return error.BadPathName,
.ACCES => return error.AccessDenied,
.FBIG => return error.FileTooBig,
.OVERFLOW => return error.FileTooBig,
@@ -1676,7 +1676,8 @@ pub fn openatWasi(
.INTR => continue,
.FAULT => unreachable,
- .INVAL => unreachable,
+ // Provides INVAL with a linux host on a bad path name, but NOENT on Windows
+ .INVAL => return error.BadPathName,
.BADF => unreachable,
.ACCES => return error.AccessDenied,
.FBIG => return error.FileTooBig,
@@ -1767,7 +1768,7 @@ pub fn openatZ(dir_fd: fd_t, file_path: [*:0]const u8, flags: O, mode: mode_t) O
.INTR => continue,
.FAULT => unreachable,
- .INVAL => unreachable,
+ .INVAL => return error.BadPathName,
.BADF => unreachable,
.ACCES => return error.AccessDenied,
.FBIG => return error.FileTooBig,