diff options
author | Christopher Faylor <me@cgf.cx> | 2006-02-20 16:15:51 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-02-20 16:15:51 +0000 |
commit | 0a5f931a43595e099bca6a2fa11bb8ae55e02bd2 (patch) | |
tree | 7aa7a36ad907340324749e91ecbcfd619e7dbdc8 /winsup/cygwin/spawn.cc | |
parent | ec92c4d6ab6630301aac88aa2d0bbd7c2094e445 (diff) | |
download | cygnal-0a5f931a43595e099bca6a2fa11bb8ae55e02bd2.tar.gz cygnal-0a5f931a43595e099bca6a2fa11bb8ae55e02bd2.tar.bz2 cygnal-0a5f931a43595e099bca6a2fa11bb8ae55e02bd2.zip |
* spawn.cc (av::fixup): Check for .bat and friends specifically now since these
extensions are no longer automatically detected.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 5817a1dfe..1debb93c3 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -1058,9 +1058,13 @@ spawnvpe (int mode, const char *file, const char * const *argv, int av::fixup (const char *prog_arg, path_conv& real_path, const char *ext) { + const char *p; bool exeext = strcasematch (ext, ".exe"); - if (exeext && real_path.iscygexec () || strcasematch (ext, ".bat") - || strcasematch (ext, ".cmd")) + if (exeext && real_path.iscygexec () || strcasematch (ext, ".bat")) + return 0; + if (!*ext && ((p = ext - 4) > (char *) real_path) + && (strcasematch (p, ".bat") || strcasematch (p, ".cmd") + || strcasematch (p, ".btm")) return 0; while (1) { |