summaryrefslogtreecommitdiff
path: root/source/gl_main.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2008-09-24 16:24:46 +0000
committerAndrey Nazarov <skuller@skuller.net>2008-09-24 16:24:46 +0000
commit3366e11bbdb586679227494f389039e6d58f8e0e (patch)
tree3ea5f70d17bdb3369a3ff3cb0e5a232e09971bbd /source/gl_main.c
parent1cbac0b239e6cad5c4b7e1d30e1d0f32b0d8062f (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.c14
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" ) ) {