* Most obscure bug EVAR. Seems a library that SDL depends on (specifically libgthread-2.0) defines a symbol g_log. qagamei386.so also defines such a symbol, but since it is dynamically loaded at runtime, no collision check is performed. When the code is relocated therefore, all instances of g_log in qagamei386.so end up refering to the g_log in the library... and bad things happen. s/g_log/g_logfile/g.

This commit is contained in:
Tim Angus 2005-09-29 14:00:03 +00:00
parent 37e948211b
commit de1840a23a

View file

@ -66,8 +66,8 @@ vmCvar_t g_synchronousClients;
vmCvar_t g_warmup; vmCvar_t g_warmup;
vmCvar_t g_doWarmup; vmCvar_t g_doWarmup;
vmCvar_t g_restarted; vmCvar_t g_restarted;
vmCvar_t g_log; vmCvar_t g_logfile;
vmCvar_t g_logSync; vmCvar_t g_logfileSync;
vmCvar_t g_blood; vmCvar_t g_blood;
vmCvar_t g_podiumDist; vmCvar_t g_podiumDist;
vmCvar_t g_podiumDrop; vmCvar_t g_podiumDrop;
@ -127,8 +127,8 @@ static cvarTable_t gameCvarTable[] = {
{ &g_warmup, "g_warmup", "20", CVAR_ARCHIVE, 0, qtrue }, { &g_warmup, "g_warmup", "20", CVAR_ARCHIVE, 0, qtrue },
{ &g_doWarmup, "g_doWarmup", "0", 0, 0, qtrue }, { &g_doWarmup, "g_doWarmup", "0", 0, 0, qtrue },
{ &g_log, "g_log", "games.log", CVAR_ARCHIVE, 0, qfalse }, { &g_logfile, "g_logfile", "games.log", CVAR_ARCHIVE, 0, qfalse },
{ &g_logSync, "g_logSync", "0", CVAR_ARCHIVE, 0, qfalse }, { &g_logfileSync, "g_logfileSync", "0", CVAR_ARCHIVE, 0, qfalse },
{ &g_password, "g_password", "", CVAR_USERINFO, 0, qfalse }, { &g_password, "g_password", "", CVAR_USERINFO, 0, qfalse },
@ -427,14 +427,14 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {
level.snd_fry = G_SoundIndex("sound/player/fry.wav"); // FIXME standing in lava / slime level.snd_fry = G_SoundIndex("sound/player/fry.wav"); // FIXME standing in lava / slime
if ( g_gametype.integer != GT_SINGLE_PLAYER && g_log.string[0] ) { if ( g_gametype.integer != GT_SINGLE_PLAYER && g_logfile.string[0] ) {
if ( g_logSync.integer ) { if ( g_logfileSync.integer ) {
trap_FS_FOpenFile( g_log.string, &level.logFile, FS_APPEND_SYNC ); trap_FS_FOpenFile( g_logfile.string, &level.logFile, FS_APPEND_SYNC );
} else { } else {
trap_FS_FOpenFile( g_log.string, &level.logFile, FS_APPEND ); trap_FS_FOpenFile( g_logfile.string, &level.logFile, FS_APPEND );
} }
if ( !level.logFile ) { if ( !level.logFile ) {
G_Printf( "WARNING: Couldn't open logfile: %s\n", g_log.string ); G_Printf( "WARNING: Couldn't open logfile: %s\n", g_logfile.string );
} else { } else {
char serverinfo[MAX_INFO_STRING]; char serverinfo[MAX_INFO_STRING];