return cvar;
}
+// check for pure evil
+ if (!*name)
+ {
+ Con_Printf("Cvar_Get: invalid variable name\n");
+ return NULL;
+ }
+
// check for overlap with a command
if (Cmd_Exists (name))
{
// perform a variable print or set
if (Cmd_Argc() == 1)
{
- Con_Printf("\"%s\" is \"%s\" [\"%s\"]\n", v->name, ((v->flags & CVAR_PRIVATE) ? "********" : v->string), v->defstring);
+ Con_Printf("\"%s\" is \"%s\" [\"%s\"]\n", v->name, ((v->flags & CVAR_PRIVATE) ? "********"/*hunter2*/ : v->string), v->defstring);
return true;
}
void Cvar_WriteVariables (qfile_t *f)
{
cvar_t *var;
+ char buf1[MAX_INPUTLINE], buf2[MAX_INPUTLINE];
// don't save cvars that match their default value
for (var = cvar_vars ; var ; var = var->next)
if ((var->flags & CVAR_SAVE) && (strcmp(var->string, var->defstring) || (var->flags & CVAR_ALLOCATED)))
- FS_Printf(f, "%s%s \"%s\"\n", var->flags & CVAR_ALLOCATED ? "seta " : "", var->name, var->string);
+ {
+ Cmd_QuoteString(buf1, sizeof(buf1), var->name, "\"\\$");
+ Cmd_QuoteString(buf2, sizeof(buf2), var->string, "\"\\$");
+ FS_Printf(f, "%s\"%s\" \"%s\"\n", var->flags & CVAR_ALLOCATED ? "seta " : "", buf1, buf2);
+ }
}
if (len && (ispattern ? !matchpattern_with_separator(cvar->name, partial, false, "", false) : strncmp (partial,cvar->name,len)))
continue;
- Con_Printf("%s is \"%s\" [\"%s\"] %s\n", cvar->name, ((cvar->flags & CVAR_PRIVATE) ? "********" : cvar->string), cvar->defstring, cvar->description);
+ Con_Printf("%s is \"%s\" [\"%s\"] %s\n", cvar->name, ((cvar->flags & CVAR_PRIVATE) ? "********"/*hunter2*/ : cvar->string), cvar->defstring, cvar->description);
count++;
}