mirror of
https://github.com/w23/xash3d-fwgs
synced 2024-12-16 14:10:11 +01:00
engine: common: don't output log to stdout on Win32 where it's done by Wcon. Better colorcode filtration
This commit is contained in:
parent
ab6214142f
commit
347c6d6a91
@ -24,7 +24,7 @@ GNU General Public License for more details.
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#if !XASH_WIN32 && !XASH_MOBILE_PLATFORM
|
#if !XASH_WIN32 && !XASH_MOBILE_PLATFORM
|
||||||
#define XASH_COLORIZE_CONSOLE
|
// #define XASH_COLORIZE_CONSOLE
|
||||||
// use with caution, running engine in Qt Creator may cause a freeze in read() call
|
// use with caution, running engine in Qt Creator may cause a freeze in read() call
|
||||||
// I was never encountered this bug anywhere else, so still enable by default
|
// I was never encountered this bug anywhere else, so still enable by default
|
||||||
// #define XASH_USE_SELECT 1
|
// #define XASH_USE_SELECT 1
|
||||||
@ -227,17 +227,32 @@ static void Sys_PrintColorized( const char *logtime, const char *msg )
|
|||||||
|
|
||||||
static void Sys_PrintFile( int fd, const char *logtime, const char *msg )
|
static void Sys_PrintFile( int fd, const char *logtime, const char *msg )
|
||||||
{
|
{
|
||||||
|
const char *p = msg;
|
||||||
|
|
||||||
write( fd, logtime, Q_strlen( logtime ) );
|
write( fd, logtime, Q_strlen( logtime ) );
|
||||||
|
|
||||||
while ( *msg )
|
while( p && *p )
|
||||||
{
|
{
|
||||||
const char *p = strchr( msg, '^' );
|
p = Q_strchr( msg, '^' );
|
||||||
|
|
||||||
if ( p && IsColorString( p ) )
|
if( p == NULL )
|
||||||
{
|
{
|
||||||
msg += write( fd, msg, p - msg );
|
write( fd, msg, Q_strlen( msg ));
|
||||||
msg += 2;
|
break;
|
||||||
} else msg += write( fd, msg, Q_strlen( msg ) );
|
}
|
||||||
|
else if( IsColorString( p ))
|
||||||
|
{
|
||||||
|
if( p != msg )
|
||||||
|
{
|
||||||
|
write( fd, msg, p - msg );
|
||||||
|
}
|
||||||
|
msg = p + 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
write( fd, msg, p - msg + 1 );
|
||||||
|
msg = p + 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,7 +294,7 @@ void Sys_PrintLog( const char *pMsg )
|
|||||||
// spew to stdout
|
// spew to stdout
|
||||||
#ifdef XASH_COLORIZE_CONSOLE
|
#ifdef XASH_COLORIZE_CONSOLE
|
||||||
Sys_PrintColorized( logtime, pMsg );
|
Sys_PrintColorized( logtime, pMsg );
|
||||||
#else
|
#elif !XASH_WIN32 // Wcon already does the job
|
||||||
Sys_PrintStdout( logtime, pMsg );
|
Sys_PrintStdout( logtime, pMsg );
|
||||||
#endif
|
#endif
|
||||||
Sys_FlushStdout();
|
Sys_FlushStdout();
|
||||||
|
Loading…
Reference in New Issue
Block a user