From f69062f68e7bffb6060ca9b9d778c14fa889b863 Mon Sep 17 00:00:00 2001 From: anzz1 Date: Sat, 18 Mar 2023 21:51:12 +0200 Subject: [PATCH 1/2] Do the windows ANSI color fix properly --- chat.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/chat.cpp b/chat.cpp index f2ccf12fc..652481372 100644 --- a/chat.cpp +++ b/chat.cpp @@ -887,11 +887,12 @@ int main(int argc, char ** argv) { sigaction(SIGINT, &sigint_action, NULL); #elif defined (_WIN32) signal(SIGINT, sigint_handler); - //Windows console ANSI color fix - HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); - DWORD mode; - GetConsoleMode(hConsole, &mode); - SetConsoleMode(hConsole, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING); + + // Windows console ANSI color fix + DWORD mode; + HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); + if (hConsole && hConsole != INVALID_HANDLE_VALUE && GetConsoleMode(hConsole, &mode)) + SetConsoleMode(hConsole, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING); #endif fprintf(stderr, "%s: interactive mode on.\n", __func__); From 1b19586681c371844492b26aa4bcf1f157bf863f Mon Sep 17 00:00:00 2001 From: anzz1 Date: Sat, 18 Mar 2023 22:21:58 +0200 Subject: [PATCH 2/2] Init the var too --- chat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chat.cpp b/chat.cpp index 652481372..38b39771a 100644 --- a/chat.cpp +++ b/chat.cpp @@ -889,7 +889,7 @@ int main(int argc, char ** argv) { signal(SIGINT, sigint_handler); // Windows console ANSI color fix - DWORD mode; + DWORD mode = 0; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); if (hConsole && hConsole != INVALID_HANDLE_VALUE && GetConsoleMode(hConsole, &mode)) SetConsoleMode(hConsole, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);