From: Junio C Hamano Date: Tue, 27 Dec 2016 08:11:46 +0000 (-0800) Subject: Merge branch 'js/mingw-isatty' X-Git-Tag: v2.12.0-rc0~95 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58fcd54853023b28a44016c06bd84fc91d2556ed;p=git Merge branch 'js/mingw-isatty' Update the isatty() emulation for Windows by updating the previous hack that depended on internals of (older) MSVC runtime. * js/mingw-isatty: mingw: replace isatty() hack mingw: fix colourization on Cygwin pseudo terminals mingw: adjust is_console() to work with stdin --- 58fcd54853023b28a44016c06bd84fc91d2556ed diff --cc compat/winansi.c index 97d84a96ed,477209fce7..3c9ed3cfe0 --- a/compat/winansi.c +++ b/compat/winansi.c @@@ -556,19 -540,17 +540,17 @@@ static void detect_msys_tty(int fd buffer, sizeof(buffer) - 2, &result))) return; name = nameinfo->Name.Buffer; - name[nameinfo->Name.Length] = 0; + name[nameinfo->Name.Length / sizeof(*name)] = 0; - /* check if this could be a MSYS2 pty pipe ('msys-XXXX-ptyN-XX') */ - if (!wcsstr(name, L"msys-") || !wcsstr(name, L"-pty")) + /* + * Check if this could be a MSYS2 pty pipe ('msys-XXXX-ptyN-XX') + * or a cygwin pty pipe ('cygwin-XXXX-ptyN-XX') + */ + if ((!wcsstr(name, L"msys-") && !wcsstr(name, L"cygwin-")) || + !wcsstr(name, L"-pty")) return; - /* init ioinfo size if we haven't done so */ - if (init_sizeof_ioinfo()) - return; - - /* set FDEV flag, reset FPIPE flag */ - _pioinfo(fd)->osflags &= ~FPIPE; - _pioinfo(fd)->osflags |= FDEV; + fd_is_interactive[fd] |= FD_MSYS; } #endif