Do not write desync messages to the console on Windows.

Windows seems unable to handle direction change characters in consoles.
This commit is contained in:
Jonathan G Rennison
2015-11-23 18:34:57 +00:00
parent ecf5943954
commit aa00038c9c

View File

@@ -141,13 +141,18 @@ static void debug_print(const char *dbg, const char *buf)
char buffer[512]; char buffer[512];
seprintf(buffer, lastof(buffer), "%sdbg: [%s] %s\n", GetLogPrefix(), dbg, buf); seprintf(buffer, lastof(buffer), "%sdbg: [%s] %s\n", GetLogPrefix(), dbg, buf);
/* do not write desync messages to the console on Windows platforms, as they do
* not seem able to handle text direction change characters in a console without
* crashing, and NetworkTextMessage includes these */
#if defined(WINCE) #if defined(WINCE)
NKDbgPrintfW(OTTD2FS(buffer)); if (strcmp(dbg, "desync") != 0) NKDbgPrintfW(OTTD2FS(buffer));
#elif defined(WIN32) || defined(WIN64) #elif defined(WIN32) || defined(WIN64)
_fputts(OTTD2FS(buffer, true), stderr); if (strcmp(dbg, "desync") != 0) _fputts(OTTD2FS(buffer, true), stderr);
#else #else
fputs(buffer, stderr); fputs(buffer, stderr);
#endif #endif
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
NetworkAdminConsole(dbg, buf); NetworkAdminConsole(dbg, buf);
#endif /* ENABLE_NETWORK */ #endif /* ENABLE_NETWORK */