Fixed fallback ENABLE_VIRTUAL_TERMINAL_PROCESSING value [Bug #17639]

This commit is contained in:
YO4 (Yoshinao Muramatsu) 2021-02-20 00:48:46 +09:00 коммит произвёл Nobuyoshi Nakada
Родитель a319c04818
Коммит b94b7965c4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
2 изменённых файлов: 3 добавлений и 3 удалений

2
ruby.c
Просмотреть файл

@ -1657,7 +1657,7 @@ tty_enabled(void)
DWORD m; DWORD m;
if (!GetConsoleMode(h, &m)) return 0; if (!GetConsoleMode(h, &m)) return 0;
# ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING # ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x200 # define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x4
# endif # endif
if (!(m & ENABLE_VIRTUAL_TERMINAL_PROCESSING)) return 0; if (!(m & ENABLE_VIRTUAL_TERMINAL_PROCESSING)) return 0;
return 1; return 1;

Просмотреть файл

@ -2693,7 +2693,7 @@ init_stdhandle(void)
DWORD m; DWORD m;
if (GetConsoleMode(h, &m)) { if (GetConsoleMode(h, &m)) {
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING #ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x200 #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x4
#endif #endif
SetConsoleMode(h, m | ENABLE_VIRTUAL_TERMINAL_PROCESSING); SetConsoleMode(h, m | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
} }
@ -7286,7 +7286,7 @@ rb_w32_write_console(uintptr_t strarg, int fd)
break; break;
} }
reslen = 0; reslen = 0;
if (dwMode & 4) { /* ENABLE_VIRTUAL_TERMINAL_PROCESSING */ if (dwMode & ENABLE_VIRTUAL_TERMINAL_PROCESSING) {
if (!WriteConsoleW(handle, ptr, len, &reslen, NULL)) if (!WriteConsoleW(handle, ptr, len, &reslen, NULL))
reslen = (DWORD)-1L; reslen = (DWORD)-1L;
} }