summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/path.cc6
2 files changed, 10 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 2ddf461f0..c3fd690d7 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+Tue Oct 31 17:57:52 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * path.cc (_readlink): Return ENOENT when file does not exist.
+
Tue Oct 31 23:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (fhandler_dev_raw): Add method `fixup_after_exec'.
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index ff622e92b..7899a0520 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2371,6 +2371,12 @@ readlink (const char *path, char *buf, int buflen)
return -1;
}
+ if (pathbuf.file_attributes () == (DWORD) -1)
+ {
+ set_errno (ENOENT);
+ return -1;
+ }
+
if (!pathbuf.issymlink ())
{
if (pathbuf.fileattr != (DWORD) -1)