diff --git a/winsup/cygwin/release/3.3.6 b/winsup/cygwin/release/3.3.6 index 44a7bcf9d..5fb59bf7d 100644 --- a/winsup/cygwin/release/3.3.6 +++ b/winsup/cygwin/release/3.3.6 @@ -26,3 +26,8 @@ Bug Fixes - Fix a console problem that the text longer than 1024 bytes cannot be pasted correctly. Addresses: https://cygwin.com/pipermail/cygwin/2022-June/251764.html + +- Fix a pty problem that pty failed to switch I/O pipe to that for + native apps if *.bat or *.cmd is executed directly from cygwin + shell. + Addresses: https://cygwin.com/pipermail/cygwin/2022-July/251993.html diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index e0f1247e1..4ec6a8789 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -210,7 +210,12 @@ is_console_app (WCHAR *filename) if (p && p + id_offset <= buf + n) return p[id_offset] == '\003'; /* 02: GUI, 03: console */ else - return false; + { + wchar_t *e = wcsrchr (filename, L'.'); + if (e && (wcscasecmp (e, L".bat") == 0 || wcscasecmp (e, L".cmd") == 0)) + return true; + } + return false; } int