diff options
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | modules.c | 19 | ||||
-rw-r--r-- | version.log | 6 |
3 files changed, 23 insertions, 3 deletions
@@ -1,6 +1,7 @@ Anope Version 1.7.0 -------------------- Provided by Anope Dev. <dev@anope.org> +2004/03/31 Modules can now add Commands/Messages from outside of AnopeInit 2004/03/31 Fixed a bug with recersive module callbacks. 2004/03/30 Added channelname to entrymsg 2004/03/28 Fixed tables.sql and removed needless tables. @@ -643,11 +643,18 @@ int moduleAddCommand(CommandHash * cmdTable[], Command * c, int pos) if (!cmdTable || !c) { return MOD_ERR_PARAMS; } + /* ok, this appears to be a module adding a command from outside of AnopeInit, try to look up its module struct for it */ + if ((mod_current_module_name) && (!mod_current_module)) { + mod_current_module = findModule(mod_current_module_name); + } + if (!mod_current_module) { return MOD_ERR_UNKNOWN; } /* shouldnt happen */ c->core = 0; - c->mod_name = sstrdup(mod_current_module->name); + if (!c->mod_name) { + c->mod_name = sstrdup(mod_current_module->name); + } if (cmdTable == HOSTSERV) { c->service = sstrdup(s_HostServ); @@ -1072,11 +1079,19 @@ int moduleAddMessage(Message * m, int pos) if (!m) { return MOD_ERR_PARAMS; } + + /* ok, this appears to be a module adding a message from outside of AnopeInit, try to look up its module struct for it */ + if ((mod_current_module_name) && (!mod_current_module)) { + mod_current_module = findModule(mod_current_module_name); + } + if (!mod_current_module) { return MOD_ERR_UNKNOWN; } /* shouldnt happen */ m->core = 0; - m->mod_name = sstrdup(mod_current_module->name); + if (!m->mod_name) { + m->mod_name = sstrdup(mod_current_module->name); + } status = addMessage(IRCD, m, pos); if (debug) { diff --git a/version.log b/version.log index fabfc6f0c..bb00ef88c 100644 --- a/version.log +++ b/version.log @@ -8,11 +8,15 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="0" -VERSION_BUILD="12" +VERSION_BUILD="15" VERSION_EXTRA="" # $Log$ # +# BUILD : 1.7.0 (15) +# BUGS : N/A +# NOTES : Added the ability for modules to add Commands and Messages outside of AnopeInit() +# # BUILD : 1.7.0 (12) # BUGS : 5 # NOTES : Fixed a bug with module callbacks, this is a tiny fix, but will need to be merged with the 1.6.x series, as it can cause a segfault if a module attempts to use recersive callbacks. |