diff options
author | Sadie Powell <sadie@witchery.services> | 2021-03-03 01:52:27 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2021-03-03 01:52:27 +0000 |
commit | d55581a1107de1e548b67d29a9ca0fcb7f1a0572 (patch) | |
tree | 7e84901a544935455efd5ade99222960a3a7c9ea /win/inspircd_win32wrapper.cpp | |
parent | dbaa0f6be119a1e74e6139d240d77efcba43b504 (diff) |
Fix not being able to colour format output to stderr on Windows.
Diffstat (limited to 'win/inspircd_win32wrapper.cpp')
-rw-r--r-- | win/inspircd_win32wrapper.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/win/inspircd_win32wrapper.cpp b/win/inspircd_win32wrapper.cpp index c6f5d8232..169741ba5 100644 --- a/win/inspircd_win32wrapper.cpp +++ b/win/inspircd_win32wrapper.cpp @@ -55,3 +55,16 @@ DWORD CWin32Exception::GetErrorCode() { return dwErrorCode; } + +WindowsStream::WindowsStream(DWORD handle) + : BackgroundColor(0) + , ForegroundColor(FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN) +{ + this->Handle = GetStdHandle(handle); + CONSOLE_SCREEN_BUFFER_INFO bufinf; + if (GetConsoleScreenBufferInfo(this->Handle, &bufinf)) + { + this->BackgroundColor = bufinf.wAttributes & 0x00F0; + this->ForegroundColor = bufinf.wAttributes & 0x00FF; + } +} |