From cd39bbed5c2d8f43427af2442a2836ae33d504a3 Mon Sep 17 00:00:00 2001 From: gibbed Date: Thu, 31 May 2018 17:22:50 -0500 Subject: [PATCH] [Base] Undo last commit because it breaks file redirection. This reverts commit ceece673e8afd08476119b41339362aacbc63497. --- src/xenia/base/main_win.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/xenia/base/main_win.cc b/src/xenia/base/main_win.cc index e6b1e8029..b8047d280 100644 --- a/src/xenia/base/main_win.cc +++ b/src/xenia/base/main_win.cc @@ -44,12 +44,16 @@ void AttachConsole() { } has_console_attached_ = true; - FILE* dummy; - freopen_s(&dummy, "CONIN$", "rb", stdin); - freopen_s(&dummy, "CONOUT$", "wb", stdout); - freopen_s(&dummy, "CONOUT$", "wb", stderr); - + 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); + + std_handle = (intptr_t)GetStdHandle(STD_ERROR_HANDLE); + con_handle = _open_osfhandle(std_handle, _O_TEXT); + fp = _fdopen(con_handle, "w"); + *stderr = *fp; setvbuf(stderr, nullptr, _IONBF, 0); }