From 382541f2f2f6e1131f9b141464b4162d19b3012d Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 25 May 2000 10:27:36 +0000 Subject: [PATCH] Patch by Kazuhiro Fujieda : * dir.cc (rmdir): Correct the manner in checking the target directory. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/dir.cc | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index cb0156de6..1b4d0087f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2000-05-25 Kazuhiro Fujieda + + * dir.cc (rmdir): Correct the manner in checking the target directory. + Wed May 24 21:59:00 2000 Corinna Vinschen * dir.cc (writable_directory): Comment out previous code, diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc index 741be8480..dc70ae117 100644 --- a/winsup/cygwin/dir.cc +++ b/winsup/cygwin/dir.cc @@ -341,7 +341,8 @@ rmdir (const char *dir) /* Under Windows 9X or on a samba share, ERROR_ACCESS_DENIED is returned if you try to remove a file. On 9X the same error is returned if you try to remove a non-empty directory. */ - if (GetFileAttributes (real_dir.get_win32()) != FILE_ATTRIBUTE_DIRECTORY) + int attr = GetFileAttributes (real_dir.get_win32()); + if (attr != -1 && !(attr & FILE_ATTRIBUTE_DIRECTORY)) set_errno (ENOTDIR); else if (os_being_run != winNT) set_errno (ENOTEMPTY); -- 2.43.5