diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 948c9dbed..e125866c4 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Thu Oct 4 21:37:57 2001 Christopher Faylor + + * spawn.cc (perhaps_suffix): Return NULL on non-existence of file as + well as "directoryness". Previous code modified on 2001/09/30 actually + had an arguable bug which was unmasked by the change on that day. + Thu Oct 4 20:52:42 2001 Christopher Faylor * path.cc (path_conv::check): Return ENOTDIR when leading device and diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 57f197eb8..ee004666b 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -63,7 +63,7 @@ perhaps_suffix (const char *prog, path_conv &buf) debug_printf ("prog '%s'", prog); buf.check (prog, PC_SYM_FOLLOW | PC_FULL, std_suffixes); - if (buf.isdir ()) + if (!buf.exists () || buf.isdir ()) ext = NULL; else if (buf.known_suffix) ext = (char *) buf + (buf.known_suffix - buf.get_win32 ());