summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--modules.c19
-rw-r--r--version.log6
3 files changed, 23 insertions, 3 deletions
diff --git a/Changes b/Changes
index b935330e7..4eb2e6d9f 100644
--- a/Changes
+++ b/Changes
@@ -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.
diff --git a/modules.c b/modules.c
index 0ed7507fc..286299f70 100644
--- a/modules.c
+++ b/modules.c
@@ -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.