From 99aaf9793d30d2fc4f0ebbd77f3780912358d087 Mon Sep 17 00:00:00 2001 From: corinna Date: Wed, 12 Oct 2005 12:54:34 +0000 Subject: [PATCH] * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Convert an ERROR_INVALID_FUNCTION into an ERROR_FILE_NOT_FOUND. Add comment to explain why. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/fhandler_disk_file.cc | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 891e58189c..a6823a8599 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2005-10-12 Corinna Vinschen + + * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Convert an + ERROR_INVALID_FUNCTION into an ERROR_FILE_NOT_FOUND. Add comment + to explain why. + 2005-10-11 Christopher Faylor * Makefile.in: Make sure that directories are created prior to copying diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 960e0f8ff0..48904788e9 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1281,11 +1281,16 @@ fhandler_disk_file::rmdir () && SetCurrentDirectory (windows_system_directory)) continue; - /* On 9X ERROR_ACCESS_DENIED is returned - if you try to remove a non-empty directory. */ + /* On 9X ERROR_ACCESS_DENIED is returned if you try to remove a + non-empty directory. */ if (err == ERROR_ACCESS_DENIED && wincap.access_denied_on_delete ()) err = ERROR_DIR_NOT_EMPTY; + /* ...and, that's *not* funny, when trying to remove a non-existing + directory on a share, which is hosted by a 9x machine, the error + code ERROR_INVALID_FUNCTION is returned. */ + else if (err == ERROR_INVALID_FUNCTION) + err = ERROR_FILE_NOT_FOUND; __seterrno_from_win_error (err); -- 2.11.0