diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-03-31 18:10:42 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-03-31 18:10:42 +0000 |
commit | 6f9bbb2d39e28780c5b2b2d3cbf617b54727b11c (patch) | |
tree | 94a20676f05cd30775014b01cd07b765f66d4b5d | |
parent | a97832683dcd4751c2b004770de355f4d902feb1 (diff) |
BUILD : 1.7.0 (15) BUGS : N/A NOTES : Added the ability for modules to add Commands and Messages outside of AnopeInit()
git-svn-id: svn://svn.anope.org/anope/trunk@15 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@9 5417fbe8-f217-4b02-8779-1006273d7864
-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. |