summaryrefslogtreecommitdiffstats
path: root/winsup/utils/cygcheck.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-07-19 21:00:34 +0000
committerChristopher Faylor <me@cgf.cx>2005-07-19 21:00:34 +0000
commit0eccec28cc616e0d72ff308db4c2a6efa26092d5 (patch)
treed9e8a82c5908c7c327377367572d99df493113f8 /winsup/utils/cygcheck.cc
parentfd745b00ed6fb782e9433f3cbc0abd2b3cfcbdad (diff)
downloadcygnal-0eccec28cc616e0d72ff308db4c2a6efa26092d5.tar.gz
cygnal-0eccec28cc616e0d72ff308db4c2a6efa26092d5.tar.bz2
cygnal-0eccec28cc616e0d72ff308db4c2a6efa26092d5.zip
* cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search.
Diffstat (limited to 'winsup/utils/cygcheck.cc')
-rw-r--r--winsup/utils/cygcheck.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc
index ba1ee6f37..6db0d04e0 100644
--- a/winsup/utils/cygcheck.cc
+++ b/winsup/utils/cygcheck.cc
@@ -218,7 +218,14 @@ find_on_path (char *file, char *default_extension,
}
if (strchr (file, ':') || strchr (file, '\\') || strchr (file, '/'))
- return cygpath (file, NULL);
+ {
+ char *fn = cygpath (file, NULL);
+ if (access (fn, F_OK) == 0)
+ return fn;
+ strcpy (rv, fn);
+ strcat (rv, default_extension);
+ return access (rv, F_OK) == 0 ? rv : fn;
+ }
if (strchr (file, '.'))
default_extension = (char *) "";