diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index bba38e9d8..55a63ee28 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2005-07-19 Christopher Faylor + Eric Blake + + * cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search. + 2005-07-05 Eric Blake * cygcheck.cc (track_down, cygcheck): Return true on success. 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 *) "";