diff --git a/include/modules.h b/include/modules.h index a56b75266..97fc11a93 100644 --- a/include/modules.h +++ b/include/modules.h @@ -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); diff --git a/src/modules/antimixedutf8.c b/src/modules/antimixedutf8.c index 81018a495..1a734f1e7 100644 --- a/src/modules/antimixedutf8.c +++ b/src/modules/antimixedutf8.c @@ -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 ****/ diff --git a/src/modules/chanmodes/history.c b/src/modules/chanmodes/history.c index dd829e0e0..a5a51bf51 100644 --- a/src/modules/chanmodes/history.c +++ b/src/modules/chanmodes/history.c @@ -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 diff --git a/src/modules/hideserver.c b/src/modules/hideserver.c index 46acc56af..d11d00f19 100644 --- a/src/modules/hideserver.c +++ b/src/modules/hideserver.c @@ -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; } diff --git a/src/modules/restrict-commands.c b/src/modules/restrict-commands.c index 28b6e756f..69aa01050 100644 --- a/src/modules/restrict-commands.c +++ b/src/modules/restrict-commands.c @@ -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(); }