Commit db0829c15a

Ryan Liptak <squeek502@hotmail.com>
2022-10-06 04:51:43
fs.Dir.deleteTree: Fix some handling of NotDir error in deleteFile calls
We don't control sub_path so it may contain directory components; therefore, NotDir is a potential error when acting on sub_path.
1 parent 34f1809
Changed files (1)
lib
std
lib/std/fs.zig
@@ -2187,6 +2187,7 @@ pub const Dir = struct {
                         } else |err| switch (err) {
                             error.FileNotFound => break :handle_entry,
 
+                            // Impossible because we do not pass any path separators.
                             error.NotDir => unreachable,
 
                             error.IsDir => {
@@ -2268,8 +2269,6 @@ pub const Dir = struct {
                         } else |err| switch (err) {
                             error.FileNotFound => return,
 
-                            error.NotDir => unreachable,
-
                             error.IsDir => {
                                 treat_as_dir = true;
                                 continue :handle_entry;
@@ -2281,6 +2280,7 @@ pub const Dir = struct {
                             error.NameTooLong,
                             error.SystemResources,
                             error.ReadOnlyFileSystem,
+                            error.NotDir,
                             error.FileSystem,
                             error.FileBusy,
                             error.BadPathName,