authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2020-06-04 16:34:48-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-06-04 22:51:58-04:00
logf7b6957fb4e6c70e6917abf519943f3f5d3e5660
tree0dc5066c4bb1116c75bba12d4f8b551f2819a41d
parentfd067fbe8b14c445ed764da15fff5163156126df

Windows: Fix std.fs.Dir.deleteDir() deleting files

Would previously delete files, now correctly returns error.NotDir. Fixes #5536

1 files changed, 2 insertions(+), 1 deletions(-)

lib/std/os.zig+2-1
......@@ -1734,7 +1734,7 @@ pub fn unlinkatW(dirfd: fd_t, sub_path_w: [*:0]const u16, flags: u32) UnlinkatEr
17341734
17351735 const want_rmdir_behavior = (flags & AT_REMOVEDIR) != 0;
17361736 const create_options_flags = if (want_rmdir_behavior)
1737 @as(w.ULONG, w.FILE_DELETE_ON_CLOSE)
1737 @as(w.ULONG, w.FILE_DELETE_ON_CLOSE | w.FILE_DIRECTORY_FILE)
17381738 else
17391739 @as(w.ULONG, w.FILE_DELETE_ON_CLOSE | w.FILE_NON_DIRECTORY_FILE);
17401740
......@@ -1787,6 +1787,7 @@ pub fn unlinkatW(dirfd: fd_t, sub_path_w: [*:0]const u16, flags: u32) UnlinkatEr
17871787 .OBJECT_NAME_NOT_FOUND => return error.FileNotFound,
17881788 .INVALID_PARAMETER => unreachable,
17891789 .FILE_IS_A_DIRECTORY => return error.IsDir,
1790 .NOT_A_DIRECTORY => return error.NotDir,
17901791 else => return w.unexpectedStatus(rc),
17911792 }
17921793}