From db0829c15ab883b9efe704414fcf8149a3d83026 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Wed, 5 Oct 2022 19:51:43 -0700 Subject: [PATCH] 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. --- lib/std/fs.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/std/fs.zig b/lib/std/fs.zig index c220200d6a..fb7ae54848 100644 --- a/lib/std/fs.zig +++ b/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,