summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2001-05-25 08:31:57 +0000
committerCorinna Vinschen <corinna@vinschen.de>2001-05-25 08:31:57 +0000
commitfdc5ebe9bf51c34fe16cf678424c6c11f4e020cf (patch)
tree87bc42eaa42843310afc87d2d76519e804b51319
parent86f41a0954e06824670215649c9fedc44d534331 (diff)
downloadcygnal-fdc5ebe9bf51c34fe16cf678424c6c11f4e020cf.tar.gz
cygnal-fdc5ebe9bf51c34fe16cf678424c6c11f4e020cf.tar.bz2
cygnal-fdc5ebe9bf51c34fe16cf678424c6c11f4e020cf.zip
* path.cc (symlink_info::check): Add a check to return correctly
if incoming `*.lnk' file is not a symlink.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/path.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 29e8314db..9aab7d28c 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 25 10:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check): Add a check to return correctly
+ if incoming `*.lnk' file is not a symlink.
+
Thu May 24 15:46:50 2001 Christopher Faylor <cgf@cygnus.com>
* path.cc (slash_drive_prefix_p): Remove.
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f2d3bd3c5..b9ca7ef62 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2690,7 +2690,7 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt)
}
/* If searching for `foo' and then finding a `foo.lnk' which is
no shortcut, return the same as if file not found. */
- if (!suffix.lnk_match ())
+ if (!suffix.lnk_match () || pathmatch(path, suffix.path))
goto file_not_symlink;
fileattr = (DWORD) -1;