summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2000-05-25 10:27:36 +0000
committerCorinna Vinschen <corinna@vinschen.de>2000-05-25 10:27:36 +0000
commit382541f2f2f6e1131f9b141464b4162d19b3012d (patch)
tree37340e51833d3a95451bfa9a878534c9b95e41db /winsup/cygwin
parent154110f5d3dc537e4a2154fbf4d3de0b173821d2 (diff)
downloadcygnal-382541f2f2f6e1131f9b141464b4162d19b3012d.tar.gz
cygnal-382541f2f2f6e1131f9b141464b4162d19b3012d.tar.bz2
cygnal-382541f2f2f6e1131f9b141464b4162d19b3012d.zip
Patch by Kazuhiro Fujieda <fujieda@jaist.ac.jp>:
* dir.cc (rmdir): Correct the manner in checking the target directory.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/dir.cc3
2 files changed, 6 insertions, 1 deletions
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 <fujieda@jaist.ac.jp>
+
+ * dir.cc (rmdir): Correct the manner in checking the target directory.
+
Wed May 24 21:59:00 2000 Corinna Vinschen <corinna@vinschen.de>
* 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);