diff options
author | Andrey Nazarov <skuller@skuller.net> | 2008-09-24 16:24:46 +0000 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2008-09-24 16:24:46 +0000 |
commit | 3366e11bbdb586679227494f389039e6d58f8e0e (patch) | |
tree | 3ea5f70d17bdb3369a3ff3cb0e5a232e09971bbd /source/gl_main.c | |
parent | 1cbac0b239e6cad5c4b7e1d30e1d0f32b0d8062f (diff) |
Com_sprintf -> Q_snprintf, Q_strncpyz -> Q_strlcpy, Q_strcat -> Q_strlcat.
Q_vsnprintf, Q_sprintf, Q_concat, Q_strlcpy, Q_strcat all return number of
characters to be written into the buffer regardless of overflow.
Removed COM_AppendExtension, FS_CopyFile, FS_RemoveFile, FS_CopyFile_f.
Made sure Q2PRO can only write files into subdirectories of the game directory
with a fixed extension.
Moved `play' command implementation into main client code.
Added support for `s_ambient' value of 3.
Renamed `net_log_active' cvar to `net_log_enable'.
Log files are now written into `logs/' subdirectory.
Diffstat (limited to 'source/gl_main.c')
-rw-r--r-- | source/gl_main.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/gl_main.c b/source/gl_main.c index 1777488..69f4e3f 100644 --- a/source/gl_main.c +++ b/source/gl_main.c @@ -537,17 +537,21 @@ void R_EndFrame( void ) { #if USE_TGA || USE_JPG || USE_PNG static char *screenshot_path( char *buffer, const char *ext ) { int i; + size_t len; if( Cmd_Argc() > 1 ) { - Com_sprintf( buffer, MAX_OSPATH, SCREENSHOTS_DIRECTORY"/%s", Cmd_Argv( 1 ) ); - COM_AppendExtension( buffer, ext, MAX_OSPATH ); + len = Q_concat( buffer, MAX_OSPATH, SCREENSHOTS_DIRECTORY "/", Cmd_Argv( 1 ), ext, NULL ); + if( len >= MAX_OSPATH ) { + Com_EPrintf( "Oversize filename specified.\n" ); + return NULL; + } return buffer; } // // find a file name to save it to // for( i = 0; i < 1000; i++ ) { - Com_sprintf( buffer, MAX_OSPATH, SCREENSHOTS_DIRECTORY"/quake%03d%s", i, ext ); + Q_snprintf( buffer, MAX_OSPATH, SCREENSHOTS_DIRECTORY"/quake%03d%s", i, ext ); if( FS_LoadFileEx( buffer, NULL, FS_PATH_GAME, TAG_FREE ) == INVALID_LENGTH ) { return buffer; // file doesn't exist } @@ -841,8 +845,8 @@ static qboolean GL_SetupExtensions( void ) { static void GL_IdentifyRenderer( void ) { char renderer_buffer[MAX_STRING_CHARS]; - Q_strncpyz( renderer_buffer, gl_config.rendererString, - sizeof( renderer_buffer ) ); + Q_strlcpy( renderer_buffer, gl_config.rendererString, + sizeof( renderer_buffer ) ); Q_strlwr( renderer_buffer ); if( strstr( renderer_buffer, "voodoo" ) ) { |