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

Create and use new CALL_NEXT_COMMAND_OVERRIDE() instead of CallCommandOverride().

This is an easier way to call the next command override handler from command
override functions. It passes the standard parameters so you don't have to
worry about which parameters a CMD_OVERRIDE_FUNC() contains.
This so it is easier to change command parameters in future UnrealIRCd versions,
should it be needed, then it may be possible without any source code changes
on the module developer side.

-       CallCommandOverride(ovr, client, recv_mtags, parc, parv);
+       CALL_NEXT_COMMAND_OVERRIDE();
This commit is contained in:
Bram Matthys
2022-08-28 08:52:51 +02:00
parent 24e3d39aea
commit 4e5598b6cf
5 changed files with 12 additions and 7 deletions
+5
View File
@@ -955,6 +955,11 @@ extern int CommandExists(const char *name);
extern CommandOverride *CommandOverrideAdd(Module *module, const char *name, int priority, OverrideCmdFunc func);
extern void CommandOverrideDel(CommandOverride *ovr);
extern void CallCommandOverride(CommandOverride *ovr, Client *client, MessageTag *mtags, int parc, const char *parv[]);
/** Call next command override function - easy way to do it.
* This way you don't have to call CallCommandOverride() with the right arguments.
* Which is nice because command (override) arguments may change in future UnrealIRCd versions.
*/
#define CALL_NEXT_COMMAND_OVERRIDE() CallCommandOverride(ovr, client, recv_mtags, parc, parv)
extern void moddata_free_client(Client *acptr);
extern void moddata_free_local_client(Client *acptr);
+2 -2
View File
@@ -205,7 +205,7 @@ CMD_OVERRIDE_FUNC(override_msg)
/* Short circuit for: remote clients, insufficient parameters,
* antimixedutf8::except.
*/
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
return;
}
@@ -227,7 +227,7 @@ CMD_OVERRIDE_FUNC(override_msg)
}
}
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
}
/*** rest is module and config stuff ****/
+1 -1
View File
@@ -731,7 +731,7 @@ CMD_OVERRIDE_FUNC(override_mode)
had_r = 1;
}
}
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
/* If..
* - channel was +r
+2 -2
View File
@@ -386,7 +386,7 @@ CMD_OVERRIDE_FUNC(override_map)
if (IsOper(client))
{
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
return;
}
@@ -435,7 +435,7 @@ CMD_OVERRIDE_FUNC(override_links)
if (IsOper(client))
{
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
return;
}
+2 -2
View File
@@ -384,7 +384,7 @@ CMD_OVERRIDE_FUNC(rcmd_override)
if (!MyUser(client) || !client->local || IsOper(client) || IsULine(client))
{
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
return;
}
@@ -405,5 +405,5 @@ CMD_OVERRIDE_FUNC(rcmd_override)
}
// No restrictions apply, process command as normal =]
CallCommandOverride(ovr, client, recv_mtags, parc, parv);
CALL_NEXT_COMMAND_OVERRIDE();
}