summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-03-17 17:44:53 +0000
committerChristopher Faylor <me@cgf.cx>2001-03-17 17:44:53 +0000
commit57499703f25428a4b4274cf1bdbd9771927a74b8 (patch)
tree313df0aec42c9134d319ba72633a6d1deedffd94 /winsup/cygwin/path.cc
parent298fad4623c7c9f869fcf8e9aceac983bbb1ee1a (diff)
downloadcygnal-57499703f25428a4b4274cf1bdbd9771927a74b8.tar.gz
cygnal-57499703f25428a4b4274cf1bdbd9771927a74b8.tar.bz2
cygnal-57499703f25428a4b4274cf1bdbd9771927a74b8.zip
* path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when input is
"foo".
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 24c295f1c..b95182d66 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2472,10 +2472,14 @@ suffix_scan::next ()
{
case SCAN_BEG:
suffixes = suffixes_start;
- if (suffixes)
- nextstate = SCAN_EXTRALNK;
- else
+ if (!suffixes)
nextstate = SCAN_LNK;
+ else
+ {
+ if (!*suffixes->name)
+ suffixes++;
+ nextstate = SCAN_EXTRALNK;
+ }
return 1;
case SCAN_HASLNK:
nextstate = SCAN_EXTRALNK; /* Skip SCAN_BEG */