On Tue, Jul 19, 2005 at 07:27:12PM +0000, Eric Blake wrote: >I was annoyed that "cygcheck bash" worked but "cygcheck /bin/bash" did not. > >2005-07-19 Eric Blake <[EMAIL PROTECTED]> > > * cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search.
Are you sure this is right? cygcheck.exe isn't a cygwin program so I'd wonder about the use of the inodes returned from windows stat() call. cgf >Index: winsup/utils/cygcheck.cc >=================================================================== >RCS file: /cvs/src/src/winsup/utils/cygcheck.cc,v >retrieving revision 1.75 >diff -p -r1.75 cygcheck.cc >*** winsup/utils/cygcheck.cc 5 Jul 2005 21:41:37 -0000 1.75 >--- winsup/utils/cygcheck.cc 19 Jul 2005 19:24:27 -0000 >*************** >*** 12,17 **** >--- 12,18 ---- > #include <stdio.h> > #include <stdlib.h> > #include <string.h> >+ #include <sys/stat.h> > #include <sys/time.h> > #include <ctype.h> > #include <io.h> >*************** find_on_path (char *file, char *default_ >*** 218,224 **** > } > > if (strchr (file, ':') || strchr (file, '\\') || strchr (file, '/')) >! return cygpath (file, NULL); > > if (strchr (file, '.')) > default_extension = (char *) ""; >--- 219,237 ---- > } > > if (strchr (file, ':') || strchr (file, '\\') || strchr (file, '/')) >! { >! struct stat stshort, stlong; >! char *shortname = cygpath (file, NULL); >! strcat (strcpy (tmp, shortname), default_extension); >! /* if short name doesn't exist, or if short name and extension name are >! same file, append the extension */ >! if (stat (shortname, &stshort) >! || (! stat (tmp, &stlong) && stshort.st_ino == stlong.st_ino)) >! strcpy (rv, tmp); >! else >! strcpy (rv, shortname); >! return rv; >! } > > if (strchr (file, '.')) > default_extension = (char *) "";