- With this patch, find_exec() rather than path_conv::check() is used in order to enable searching executable file in the path. --- winsup/cygwin/fhandler_tty.cc | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 4601a0b5c..22e6da5fd 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -219,19 +219,20 @@ CreateProcessA_Hooked char *p = prog; char *p1; do - if ((p1 = strstr (p, ".exe")) || (p1 = strstr (p, ".com"))) + if ((p1 = strchr (p, ' ')) || (p1 = p + strlen (p))) { - p = p1 + 4; + p = p1; if (*p == ' ') { *p = '\0'; - path.check (prog); + find_exec (prog, path); *p = ' '; + p ++; } else if (*p == '\0') - path.check (prog); + find_exec (prog, path); } - while (!path.exists() && p1); + while (!path.exists() && *p); } const char *argv[] = {"", NULL}; /* Dummy */ av av1; @@ -282,19 +283,20 @@ CreateProcessW_Hooked char *p = prog; char *p1; do - if ((p1 = strstr (p, ".exe")) || (p1 = strstr (p, ".com"))) + if ((p1 = strchr (p, ' ')) || (p1 = p + strlen (p))) { - p = p1 + 4; + p = p1; if (*p == ' ') { *p = '\0'; - path.check (prog); + find_exec (prog, path); *p = ' '; + p ++; } else if (*p == '\0') - path.check (prog); + find_exec (prog, path); } - while (!path.exists() && p1); + while (!path.exists() && *p); } const char *argv[] = {"", NULL}; /* Dummy */ av av1; -- 2.31.1