authorgravatar for egoist@egoistic.devxEgoist <egoist@egoistic.dev> 2023-04-17 22:35:04-05:00
committergravatar for egoist@egoistic.devxEgoist <egoist@egoistic.dev> 2023-04-17 22:35:04-05:00
log89334fae205d02874fec1571e0637cfa1894ff1e
tree89b3aeb9593a3a34ce5ae40905217f876db7f549
parent73c04d4b2891b8e1c32261b59c0d17f4447f9658

windows: better error handling for DeleteFile.


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

lib/std/os/windows.zig+5-1
...@@ -933,7 +933,7 @@ pub fn DeleteFile(sub_path_w: []const u16, options: DeleteFileOptions) DeleteFil...@@ -933,7 +933,7 @@ pub fn DeleteFile(sub_path_w: []const u16, options: DeleteFileOptions) DeleteFil
933 .FILE_IS_A_DIRECTORY => return error.IsDir,933 .FILE_IS_A_DIRECTORY => return error.IsDir,
934 .NOT_A_DIRECTORY => return error.NotDir,934 .NOT_A_DIRECTORY => return error.NotDir,
935 .SHARING_VIOLATION => return error.FileBusy,935 .SHARING_VIOLATION => return error.FileBusy,
936 .CANNOT_DELETE => return error.AccessDenied,936 .ACCESS_DENIED => return error.AccessDenied,
937 else => return unexpectedStatus(rc),937 else => return unexpectedStatus(rc),
938 }938 }
939 var file_dispo = FILE_DISPOSITION_INFORMATION{939 var file_dispo = FILE_DISPOSITION_INFORMATION{
...@@ -950,6 +950,10 @@ pub fn DeleteFile(sub_path_w: []const u16, options: DeleteFileOptions) DeleteFil...@@ -950,6 +950,10 @@ pub fn DeleteFile(sub_path_w: []const u16, options: DeleteFileOptions) DeleteFil
950 switch (rc) {950 switch (rc) {
951 .SUCCESS => return,951 .SUCCESS => return,
952 .DIRECTORY_NOT_EMPTY => return error.DirNotEmpty,952 .DIRECTORY_NOT_EMPTY => return error.DirNotEmpty,
953 .INVALID_PARAMETER => unreachable,
954 .CANNOT_DELETE => return error.AccessDenied,
955 .MEDIA_WRITE_PROTECTED => return error.AccessDenied,
956 .ACCESS_DENIED => return error.AccessDenied,
953 else => return unexpectedStatus(rc),957 else => return unexpectedStatus(rc),
954 }958 }
955}959}