aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os
diff options
context:
space:
mode:
authorRyan Liptak <squeek502@hotmail.com>2020-06-04 15:59:48 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-06-04 22:52:53 -0400
commit95a5f6bf2dd822d4a67bef0fda3074dabea2d8c2 (patch)
treeba36dd6774dfa6194626b8204e7d76f845dffabb /lib/std/os
parentf7b6957fb4e6c70e6917abf519943f3f5d3e5660 (diff)
downloadzig-95a5f6bf2dd822d4a67bef0fda3074dabea2d8c2.tar.gz
zig-95a5f6bf2dd822d4a67bef0fda3074dabea2d8c2.zip
Windows: Handle ERROR_DIRECTORY in std.fs.deleteDirAbsolute when called on a file path
ERROR_DIRECTORY (267) is returned from kernel32.RemoveDirectoryW if the path is not a directory. Note also that os.DirectDirError already includes NotDir Before: error.Unexpected: GetLastError(267): The directory name is invalid. After: error: NotDir
Diffstat (limited to 'lib/std/os')
-rw-r--r--lib/std/os/windows.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig
index f00b339a50..cfa50e162d 100644
--- a/lib/std/os/windows.zig
+++ b/lib/std/os/windows.zig
@@ -745,6 +745,7 @@ pub const RemoveDirectoryError = error{
FileNotFound,
DirNotEmpty,
Unexpected,
+ NotDir,
};
pub fn RemoveDirectory(dir_path: []const u8) RemoveDirectoryError!void {
@@ -757,6 +758,7 @@ pub fn RemoveDirectoryW(dir_path_w: [*:0]const u16) RemoveDirectoryError!void {
switch (kernel32.GetLastError()) {
.PATH_NOT_FOUND => return error.FileNotFound,
.DIR_NOT_EMPTY => return error.DirNotEmpty,
+ .DIRECTORY => return error.NotDir,
else => |err| return unexpectedError(err),
}
}