From ceece673e8afd08476119b41339362aacbc63497 Mon Sep 17 00:00:00 2001 From: gibbed Date: Thu, 31 May 2018 16:46:03 -0500 Subject: [PATCH] [Base] Fix AttachConsole so that --help works when invoked from command-line. --- src/xenia/base/main_win.cc | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/xenia/base/main_win.cc b/src/xenia/base/main_win.cc index b8047d280..e6b1e8029 100644 --- a/src/xenia/base/main_win.cc +++ b/src/xenia/base/main_win.cc @@ -44,16 +44,12 @@ void AttachConsole() { } has_console_attached_ = true; - auto std_handle = (intptr_t)GetStdHandle(STD_OUTPUT_HANDLE); - auto con_handle = _open_osfhandle(std_handle, _O_TEXT); - auto fp = _fdopen(con_handle, "w"); - *stdout = *fp; - setvbuf(stdout, nullptr, _IONBF, 0); + FILE* dummy; + freopen_s(&dummy, "CONIN$", "rb", stdin); + freopen_s(&dummy, "CONOUT$", "wb", stdout); + freopen_s(&dummy, "CONOUT$", "wb", stderr); - std_handle = (intptr_t)GetStdHandle(STD_ERROR_HANDLE); - con_handle = _open_osfhandle(std_handle, _O_TEXT); - fp = _fdopen(con_handle, "w"); - *stderr = *fp; + setvbuf(stdout, nullptr, _IONBF, 0); setvbuf(stderr, nullptr, _IONBF, 0); }