Index: trunk/code/qcommon/cvar.c =================================================================== --- trunk/code/qcommon/cvar.c (revision 1341) +++ trunk/code/qcommon/cvar.c (working copy) @@ -609,11 +609,11 @@ */ void Cvar_Set_f( void ) { int i, c, l, len; - char cmd[5], combined[MAX_STRING_TOKENS]; + char *cmd, combined[MAX_STRING_TOKENS]; cvar_t *v; c = Cmd_Argc(); - Q_strncpyz( cmd, Cmd_Argv(0), sizeof( cmd ) ); + cmd = Cmd_Argv(0); if ( c < 2 ) { Com_Printf ("usage: %s \n", cmd); @@ -642,18 +642,24 @@ return; } switch( cmd[3] ) { - default: - case '\0': + case 'a': + if( !( v->flags & CVAR_ARCHIVE ) ) { + v->flags |= CVAR_ARCHIVE; + cvar_modifiedFlags |= CVAR_ARCHIVE; + } break; case 'u': - v->flags |= CVAR_USERINFO; + if( !( v->flags & CVAR_USERINFO ) ) { + v->flags |= CVAR_USERINFO; + cvar_modifiedFlags |= CVAR_USERINFO; + } break; case 's': - v->flags |= CVAR_SERVERINFO; + if( !( v->flags & CVAR_SERVERINFO ) ) { + v->flags |= CVAR_SERVERINFO; + cvar_modifiedFlags |= CVAR_SERVERINFO; + } break; - case 'a': - v->flags |= CVAR_ARCHIVE; - break; } } @@ -945,9 +951,9 @@ Cmd_AddCommand ("print", Cvar_Print_f); Cmd_AddCommand ("toggle", Cvar_Toggle_f); Cmd_AddCommand ("set", Cvar_Set_f); + Cmd_AddCommand ("seta", Cvar_Set_f); + Cmd_AddCommand ("setu", Cvar_Set_f); Cmd_AddCommand ("sets", Cvar_Set_f); - Cmd_AddCommand ("setu", Cvar_Set_f); - Cmd_AddCommand ("seta", Cvar_Set_f); Cmd_AddCommand ("reset", Cvar_Reset_f); Cmd_AddCommand ("cvarlist", Cvar_List_f); Cmd_AddCommand ("cvar_restart", Cvar_Restart_f);