Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/dir.cc4
2 files changed, 7 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 8a002841d..aa112093b 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2007-02-22 Corinna Vinschen <corinna@vinschen.de>
+ * dir.cc (rmdir): Move existance check in front of
+ has_dot_last_component check. Simply setting errno in latter case.
+
+2007-02-22 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler.cc (fhandler_base::write): Remove wincap.has_lseek_bug case.
Simplify seek beyond EOF case.
* times.cc (times): Remove wincap.has_get_process_times case.
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 63467b7fb..3d0dbae7b 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -307,10 +307,10 @@ rmdir (const char *dir)
debug_printf ("got %d error from build_fh_name", fh->error ());
set_errno (fh->error ());
}
- else if (has_dot_last_component (dir, false))
- set_errno (fh->exists () ? EINVAL : ENOENT);
else if (!fh->exists ())
set_errno (ENOENT);
+ else if (has_dot_last_component (dir, false))
+ set_errno (EINVAL);
else if (!fh->rmdir ())
res = 0;