1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 05:23:13 +02:00

More updates to api-command, remove old functions such as del_Command().

This commit is contained in:
Bram Matthys
2019-03-24 15:18:41 +01:00
parent e19639a1bd
commit b3e9d391d8
5 changed files with 24 additions and 46 deletions
+19 -10
View File
@@ -107,27 +107,36 @@ Command *AliasAdd(Module *module, char *cmd, AliasCmdFunc aliasfunc, unsigned ch
return CommandAddInternal(module, cmd, NULL, aliasfunc, params, flags);
}
void CommandDel(Command *command)
void CommandDelX(Command *command, aCommand *cmd)
{
Cmdoverride *ovr, *ovrnext;
DelListItem(command->cmd, CommandHash[toupper(*command->cmd->cmd)]);
if (command->cmd->owner) {
DelListItem(cmd, CommandHash[toupper(*cmd->cmd)]);
if (command && cmd->owner)
{
ModuleObject *cmdobj;
for (cmdobj = command->cmd->owner->objects; cmdobj; cmdobj = cmdobj->next) {
if (cmdobj->type == MOBJ_COMMAND && cmdobj->object.command == command) {
DelListItem(cmdobj,command->cmd->owner->objects);
for (cmdobj = cmd->owner->objects; cmdobj; cmdobj = cmdobj->next)
{
if (cmdobj->type == MOBJ_COMMAND && cmdobj->object.command == command)
{
DelListItem(cmdobj,cmd->owner->objects);
MyFree(cmdobj);
break;
}
}
}
for (ovr = command->cmd->overriders; ovr; ovr = ovrnext)
for (ovr = cmd->overriders; ovr; ovr = ovrnext)
{
ovrnext = ovr->next;
CmdoverrideDel(ovr);
}
MyFree(command->cmd->cmd);
MyFree(command->cmd);
MyFree(command);
MyFree(cmd->cmd);
MyFree(cmd);
if (command)
MyFree(command);
}
void CommandDel(Command *command)
{
return CommandDelX(command, command->cmd);
}