diff options
author | Andrey Nazarov <skuller@skuller.net> | 2008-01-13 00:00:31 +0000 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2008-01-13 00:00:31 +0000 |
commit | a0db25a7e12f83e46787f09eca5ec9e4a3de640a (patch) | |
tree | b0950b5ae2db9313cf2edb1a099d05389ae8a345 /source/cl_main.c | |
parent | 8f5ec81defe3676a43550b5b1b10757691053fc2 (diff) |
Complete addresses from entire address book, not just from first 16 entries.
Fixed integer overflow when encoding usercmd movement vectors into char type.
Diffstat (limited to 'source/cl_main.c')
-rw-r--r-- | source/cl_main.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/source/cl_main.c b/source/cl_main.c index c20ed13..b25d103 100644 --- a/source/cl_main.c +++ b/source/cl_main.c @@ -507,7 +507,7 @@ static void CL_PassiveConnect_f( void ) { static const char *CL_Connect_g( const char *partial, int state ) { static int length; static int index; - const char *adrstring; + cvar_t *var; char buffer[MAX_QPATH]; if( !state ) { @@ -515,15 +515,18 @@ static const char *CL_Connect_g( const char *partial, int state ) { index = 0; } - while( index < MAX_LOCAL_SERVERS ) { + while( index < 1024 ) { Com_sprintf( buffer, sizeof( buffer ), "adr%i", index ); index++; - adrstring = Cvar_VariableString( buffer ); - if( !adrstring[ 0 ] ) { + var = Cvar_FindVar( buffer ); + if( !var ) { + break; + } + if( !var->string[0] ) { continue; } - if( !strncmp( partial, adrstring, length ) ) { - return adrstring; + if( !strncmp( partial, var->string, length ) ) { + return var->string; } } @@ -1992,7 +1995,7 @@ static qboolean CL_WriteConfig( const char *path ) { FS_FOpenFile( path, &f, FS_MODE_WRITE ); if( !f ) { - Com_WPrintf( "Couldn't write %s\n", path ); + Com_WPrintf( "Couldn't open %s for writing\n", path ); return qfalse; } |