- variable->aliases = (char **)Mem_Realloc(zonemempool, variable->aliases, sizeof(char *) * (variable->aliasindex + 1));
+ if(!*alias)
+ {
+ Con_Printf("Cvar_RegisterAlias: invalid alias name\n");
+ return;
+ }
+
+ // check for overlap with a command
+ if (Cmd_Exists(cmd_local, alias))
+ {
+ Con_Printf("Cvar_RegisterAlias: %s is a command\n", alias);
+ return;
+ }
+
+ if(Cvar_FindVar(&cvars_all, alias, 0))
+ {
+ Con_Printf("Cvar_RegisterAlias: %s is a cvar\n", alias);
+ 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;
+