- variable->aliases = (char **)Mem_Realloc(zonemempool, variable->aliases, sizeof(char *) * (variable->aliasindex + 1));
+ if(!*name)
+ {
+ Con_Printf("Cvar_RegisterVirtual: invalid virtual cvar name\n");
+ return;
+ }
+
+ // check for overlap with a command
+ if (Cmd_Exists(cmd_local, name))
+ {
+ Con_Printf("Cvar_RegisterVirtual: %s is a command\n", name);
+ return;
+ }
+
+ if(Cvar_FindVar(&cvars_all, name, 0))
+ {
+ Con_Printf("Cvar_RegisterVirtual: %s is a cvar\n", name);
+ return;
+ }
+
+ if(!variable->aliases)
+ variable->aliases = (char **)Z_Malloc(sizeof(char *) * 2); // For NULL terminator
+ else
+ variable->aliases = (char **)Mem_Realloc(zonemempool, variable->aliases, sizeof(char *) * (variable->aliases_size + 1));
+
+ variable->aliases[variable->aliases_size + 1] = NULL;
+