authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-29 01:13:32-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-29 18:40:56-08:00
log0a37ad2ec4daa04a845142508e0dd1326db7ee2d
treee89bb5cb9b05c7936045bb432a2ca7a7f529194b
parent3cc5dda7568b845d5002be4dd3181145ecc3f8bd

std.Io.File: handle DISK_FULL on windows


1 files changed, 4 insertions(+), 0 deletions(-)

lib/std/Io/Threaded.zig+4
......@@ -2730,6 +2730,7 @@ fn dirCreateDirPathOpenWindows(
27302730 // This can happen if the directory has 'List folder contents' permission set to 'Deny'
27312731 // and the directory is trying to be opened for iteration.
27322732 .ACCESS_DENIED => return syscall.fail(error.AccessDenied),
2733 .DISK_FULL => return syscall.fail(error.NoSpaceLeft),
27332734 .INVALID_PARAMETER => |s| return syscall.ntstatusBug(s),
27342735 else => |s| return syscall.unexpectedNtstatus(s),
27352736 };
......@@ -3670,6 +3671,7 @@ fn dirCreateFileWindows(
36703671 .NOT_A_DIRECTORY => return syscall.fail(error.NotDir),
36713672 .USER_MAPPED_FILE => return syscall.fail(error.AccessDenied),
36723673 .VIRUS_INFECTED, .VIRUS_DELETED => return syscall.fail(error.AntivirusInterference),
3674 .DISK_FULL => return syscall.fail(error.NoSpaceLeft),
36733675 .INVALID_PARAMETER => |status| return syscall.ntstatusBug(status),
36743676 .OBJECT_PATH_SYNTAX_BAD => |status| return syscall.ntstatusBug(status),
36753677 .INVALID_HANDLE => |status| return syscall.ntstatusBug(status),
......@@ -9215,6 +9217,7 @@ fn writeFilePositionalWindows(
92159217 .LOCK_VIOLATION => return syscall.fail(error.LockViolation),
92169218 .ACCESS_DENIED => return syscall.fail(error.AccessDenied),
92179219 .WORKING_SET_QUOTA => return syscall.fail(error.SystemResources),
9220 .DISK_FULL => return syscall.fail(error.NoSpaceLeft),
92189221 else => |err| {
92199222 syscall.finish();
92209223 return windows.unexpectedError(err);
......@@ -9375,6 +9378,7 @@ fn writeFileStreamingWindows(
93759378 .LOCK_VIOLATION => return syscall.fail(error.LockViolation),
93769379 .ACCESS_DENIED => return syscall.fail(error.AccessDenied),
93779380 .WORKING_SET_QUOTA => return syscall.fail(error.SystemResources),
9381 .DISK_FULL => return syscall.fail(error.NoSpaceLeft),
93789382 else => |err| {
93799383 syscall.finish();
93809384 return windows.unexpectedError(err);