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;
if (!GetConsoleMode(h, &m)) return 0;
# ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x200
# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x4
# endif
if (!(m & ENABLE_VIRTUAL_TERMINAL_PROCESSING)) return 0;
return 1;

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

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