diff options
author | Christopher Faylor <me@cgf.cx> | 2000-10-31 23:01:21 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-10-31 23:01:21 +0000 |
commit | 772e2322bd066c72b8af0f82f82c51306088bacc (patch) | |
tree | fa5e4d0b9f227819527af42237b505a4d9693128 | |
parent | 0f341375393e523a81e831447c277e5bb554491e (diff) | |
download | cygnal-772e2322bd066c72b8af0f82f82c51306088bacc.tar.gz cygnal-772e2322bd066c72b8af0f82f82c51306088bacc.tar.bz2 cygnal-772e2322bd066c72b8af0f82f82c51306088bacc.zip |
* path.cc (_readlink): Return ENOENT when file does not exist.
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 6 |
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) |