diff --git a/src/shared/Log.cpp b/src/shared/Log.cpp index 97c2e7164..d2d09e34f 100644 --- a/src/shared/Log.cpp +++ b/src/shared/Log.cpp @@ -369,7 +369,7 @@ void Log::outString( const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -401,7 +401,7 @@ void Log::outError( const char * err, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stderr,err,); + utf8printf(stderr, err); if(m_colored) ResetColor(false); @@ -434,7 +434,7 @@ void Log::outErrorDb( const char * err, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stderr,err,); + utf8printf(stderr, err); if(m_colored) ResetColor(false); @@ -483,7 +483,7 @@ void Log::outBasic( const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -518,7 +518,7 @@ void Log::outDetail( const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -548,7 +548,7 @@ void Log::outDebugInLine( const char * str, ... ) if(m_colored) SetColor(true,m_colors[LogDebug]); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -574,7 +574,7 @@ void Log::outDebug( const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -609,7 +609,7 @@ void Log::outCommand( uint32 account, const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); if(m_colored) ResetColor(true); @@ -691,7 +691,7 @@ void Log::outMenu( const char * str, ... ) if(m_includeTime) outTime(); - UTF8PRINTF(stdout,str,); + utf8printf(stdout, str); ResetColor(true); diff --git a/src/shared/Util.cpp b/src/shared/Util.cpp index 0b70aac87..0ca1d3310 100644 --- a/src/shared/Util.cpp +++ b/src/shared/Util.cpp @@ -419,3 +419,29 @@ bool Utf8FitTo(const std::string& str, std::wstring search) return true; } + +void utf8printf(FILE *out, const char *str, ...) +{ + va_list ap; + +#if PLATFORM == PLATFORM_WINDOWS + char temp_buf[32*1024]; + wchar_t wtemp_buf[32*1024]; + size_t temp_len; + size_t wtemp_len; + + va_start(ap, str); + temp_len = vsnprintf(temp_buf, 32*1024, str, ap); + va_end(ap); + + wtemp_len = 32*1024-1; + Utf8toWStr(temp_buf, temp_len, wtemp_buf, wtemp_len); + + CharToOemBuffW(&wtemp_buf[0], &temp_buf[0], wtemp_len+1); + fprintf(out, temp_buf); +#else + va_start(ap, str); + vfprintf(out, str, ap); + va_end(ap); +#endif +} diff --git a/src/shared/Util.h b/src/shared/Util.h index 121bbc292..6a99ee8c4 100644 --- a/src/shared/Util.h +++ b/src/shared/Util.h @@ -283,32 +283,7 @@ std::wstring GetMainPartOfName(std::wstring wname, uint32 declension); bool utf8ToConsole(const std::string& utf8str, std::string& conStr); bool consoleToUtf8(const std::string& conStr,std::string& utf8str); bool Utf8FitTo(const std::string& str, std::wstring search); - -#if PLATFORM == PLATFORM_WINDOWS -#define UTF8PRINTF(OUT,FRM,RESERR) \ -{ \ - char temp_buf[32*1024]; \ - va_list ap; \ - va_start(ap, FRM); \ - size_t temp_len = vsnprintf(temp_buf,32*1024,FRM,ap); \ - va_end(ap); \ - \ - wchar_t wtemp_buf[32*1024]; \ - size_t wtemp_len = 32*1024-1; \ - if(!Utf8toWStr(temp_buf,temp_len,wtemp_buf,wtemp_len)) \ - return RESERR; \ - CharToOemBuffW(&wtemp_buf[0],&temp_buf[0],wtemp_len+1);\ - fprintf(OUT,temp_buf); \ -} -#else -#define UTF8PRINTF(OUT,FRM,RESERR) \ -{ \ - va_list ap; \ - va_start(ap, FRM); \ - vfprintf(OUT, FRM, ap ); \ - va_end(ap); \ -} -#endif +void utf8printf(FILE *out, const char *str, ...); bool IsIPAddress(char const* ipaddress); uint32 CreatePIDFile(const std::string& filename); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 995a5f133..547a90e49 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8387" + #define REVISION_NR "8388" #endif // __REVISION_NR_H__