engine: make Sys_LogFileNo return -1 when log file isn't opened

This commit is contained in:
Alibek Omarov
2026-04-24 20:35:13 +05:00
parent a8ff36aa57
commit 1dd3447cef
3 changed files with 9 additions and 3 deletions

View File

@@ -61,6 +61,8 @@ SYSTEM LOG
*/
int Sys_LogFileNo( void )
{
if( !s_ld.logfile )
return -1;
return s_ld.logfileno;
}

View File

@@ -55,8 +55,11 @@ static void Sys_AppendPrint( struct print_data *pd, const char *fmt, ... )
{
char ch = '\n';
write( pd->logfd, pd->message, len );
write( pd->logfd, &ch, 1 );
if( pd->logfd >= 0 )
{
write( pd->logfd, pd->message, len );
write( pd->logfd, &ch, 1 );
}
write( STDERR_FILENO, pd->message, len );
write( STDERR_FILENO, &ch, 1 );

View File

@@ -44,7 +44,8 @@ static void Sys_Crash( int signal, siginfo_t *si, void *context )
// now get log fd and write trace directly to log
logfd = Sys_LogFileNo();
write( logfd, message, len );
if( logfd >= 0 )
write( logfd, message, len );
#if HAVE_LIBBACKTRACE
if( have_libbacktrace && !detailed_message )