diff --git a/tools/quake3/common/scriplib.c b/tools/quake3/common/scriplib.c index acd8d5ad..d0e533cb 100644 --- a/tools/quake3/common/scriplib.c +++ b/tools/quake3/common/scriplib.c @@ -58,6 +58,7 @@ qboolean tokenready; // only qtrue if UnGetToken was just ca */ void AddScriptToStack( const char *filename, int index ){ int size; + void* buffer; script++; if ( script == &scriptstack[MAX_INCLUDES] ) { @@ -65,10 +66,11 @@ void AddScriptToStack( const char *filename, int index ){ } strcpy( script->filename, ExpandPath( filename ) ); - size = vfsLoadFile( script->filename, (void **)&script->buffer, index ); + size = vfsLoadFile( script->filename, &buffer, index ); if ( size == -1 ) { Sys_Printf( "Script file %s was not found\n", script->filename ); + script--; } else { @@ -78,11 +80,12 @@ void AddScriptToStack( const char *filename, int index ){ else{ Sys_Printf( "entering %s\n", script->filename ); } - } - script->line = 1; - script->script_p = script->buffer; - script->end_p = script->buffer + size; + script->buffer = buffer; + script->line = 1; + script->script_p = script->buffer; + script->end_p = script->buffer + size; + } }