From 61f5a9dbc5fd27d84f82491f5074bae2fe50426e Mon Sep 17 00:00:00 2001 From: Andrey Nazarov Date: Mon, 24 Jan 2011 14:27:42 +0300 Subject: Re-exec ‘autoexec.cfg’ after gamedir change. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restrict ‘config.cfg’ and ‘autoexec.cfg’ to be real files within the game directory, don't search for them in packs. Split Cmd_Exec_f into Cmd_ExecuteFile utility function. Add more validity checks: oversize names, oversize files, exec loops. Make Sys_AddDefaultConfig omit the ‘Execing...’ line if the config file is empty. --- src/sys_unix.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/sys_unix.c') diff --git a/src/sys_unix.c b/src/sys_unix.c index 769bebd..99354b2 100644 --- a/src/sys_unix.c +++ b/src/sys_unix.c @@ -570,8 +570,6 @@ void Sys_AddDefaultConfig( void ) { } if( fstat( fileno( fp ), &st ) == 0 ) { - Com_Printf( "Execing " SYS_SITECFG_NAME "\n" ); - len = st.st_size; if( len >= cmd_buffer.maxsize ) { len = cmd_buffer.maxsize - 1; @@ -584,6 +582,11 @@ void Sys_AddDefaultConfig( void ) { } fclose( fp ); + + if( cmd_buffer.cursize ) { + Com_Printf( "Execing %s\n", SYS_SITECFG_NAME ); + Cbuf_Execute( &cmd_buffer ); + } } void Sys_Sleep( int msec ) { -- cgit v1.2.3