diff options
-rw-r--r-- | src/inspircd.cpp | 3 | ||||
-rw-r--r-- | win/inspircd_win32wrapper.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index ba7e08eff..8cbb83d6f 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -524,7 +524,8 @@ InspIRCd::InspIRCd(int argc, char** argv) if (Config->cmdline.forcedebug) { - FileWriter* fw = new FileWriter(stdout, 1); + FILE* newstdout = fdopen(dup(STDOUT_FILENO), "w"); + FileWriter* fw = new FileWriter(newstdout, 1); FileLogStream* fls = new FileLogStream(LOG_RAWIO, fw); Logs->AddLogTypes("*", fls, true); } diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h index 7366fc336..368504d61 100644 --- a/win/inspircd_win32wrapper.h +++ b/win/inspircd_win32wrapper.h @@ -102,6 +102,8 @@ typedef SSIZE_T ssize_t; #define popen _popen #define pclose _pclose #define getpid _getpid +#define dup _dup +#define fdopen _fdopen // warning: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' // Normally, this is a huge problem, but due to our new/delete remap, we can ignore it. |