qboolean changed;
size_t valuelen;
- changed = strcmp(var->string, value);
+ changed = strcmp(var->string, value) != 0;
// LordHavoc: don't reallocate when there is no change
if (!changed)
return;
// whenever rcon_secure is changed to 0, clear rcon_password for
// security reasons (prevents a send-rcon-password-as-plaintext
// attack based on NQ protocol session takeover and svc_stufftext)
- if(!var->integer)
+ if(var->integer <= 0)
Cvar_Set("rcon_password", "");
}
else if (!strcmp(var->name, "net_slist_favorites"))
cvar_t *var;
// restore the default values of all cvars
for (var = cvar_vars ; var ; var = var->next)
- Cvar_SetQuick(var, var->defstring);
+ if((var->flags & CVAR_NORESETTODEFAULTS) == 0)
+ Cvar_SetQuick(var, var->defstring);
}
cvar_t *var;
// restore the default values of all cvars
for (var = cvar_vars ; var ; var = var->next)
- if (!(var->flags & CVAR_SAVE))
+ if ((var->flags & (CVAR_NORESETTODEFAULTS | CVAR_SAVE)) == 0)
Cvar_SetQuick(var, var->defstring);
}
cvar_t *var;
// restore the default values of all cvars
for (var = cvar_vars ; var ; var = var->next)
- if (var->flags & CVAR_SAVE)
+ if ((var->flags & (CVAR_NORESETTODEFAULTS | CVAR_SAVE)) == CVAR_SAVE)
Cvar_SetQuick(var, var->defstring);
}