summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--src/modules.c16
-rw-r--r--src/modules/hs_moo.c11
-rw-r--r--version.log6
4 files changed, 32 insertions, 2 deletions
diff --git a/Changes b/Changes
index ad2bcb675..a851dcc13 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
Anope Version S V N
-------------------
Provided by Anope Dev. <dev@anope.org> - 2004
+10/13 A Added argv[0] as nick for AnopeInit. [ #00]
09/20 A Added RestrictOperNicks as new feature in services.conf. [ #00]
09/08 A Removed rand() and ported bsd's arc4random() to fit our needs. [ #00]
08/24 A New -l option for am script to list possible selectors. [ #00]
diff --git a/src/modules.c b/src/modules.c
index bfb9a229f..0cb411905 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -318,6 +318,9 @@ int loadModule(Module * m, User * u)
const char *err;
int (*func) (int, char **);
int ret = 0;
+ char *argv[1];
+ int argc = 0;
+
Module *m2;
if (!m || !m->name) {
return MOD_ERR_PARAMS;
@@ -360,7 +363,18 @@ int loadModule(Module * m, User * u)
}
if (func) {
mod_current_module_name = m->name;
- ret = func(0, NULL); /* exec AnopeInit */
+ /* argv[0] is the user if there was one, or NULL if not */
+ if(u) {
+ argv[0] = sstrdup(u->nick);
+ } else {
+ argv[0] = NULL;
+ }
+ argc++;
+
+ ret = func(argc, argv); /* exec AnopeInit */
+ if(u) {
+ free(argv[0]);
+ }
if (ret == MOD_STOP) {
alog("%s requested unload...", m->name);
unloadModule(m, NULL);
diff --git a/src/modules/hs_moo.c b/src/modules/hs_moo.c
index 3a2fccfe1..04641e860 100644
--- a/src/modules/hs_moo.c
+++ b/src/modules/hs_moo.c
@@ -35,6 +35,17 @@ int AnopeInit(int argc, char **argv) /* This will be executed when the mod
moduleSetHostHelp(myHostServHelp); /* add us to the .hs help list */
status = moduleAddCommand(HOSTSERV, c, MOD_HEAD); /* Add the command to the HOSTSERV cmd table */
+
+ /* Check if we have any argv's */
+ if(argc>0) {
+ /* we do, the first will be the nick of the person modload'ing us */
+ /* or NULL if we were auto-loaded */
+ if(argv[0]) {
+ alog("hs_moo was modloaded by: [%s]",argv[0]);
+ } else {
+ alog("hs_moo was automatically loaded by anope");
+ }
+ }
alog("hs_moo.so: Add Command 'moo' Status: %d",status); /* Log the command being added */
moduleAddCallback("test",time(NULL)+dotime("15s"),test,0,NULL); /* set a call-back function to exec in 3 mins time */
diff --git a/version.log b/version.log
index 0abbdd7b3..b64e4adfa 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="5"
-VERSION_BUILD="395"
+VERSION_BUILD="396"
# $Log$
#
+# BUILD : 1.7.5 (396)
+# BUGS : N/A
+# NOTES : Added arvg[0] to AnopeInit call, it will contain the nick of the person who loaded the module. All existing modules are un-effected :)
+#
# BUILD : 1.7.5 (395)
# BUGS : N/A
# NOTES : Fixed a typo in all source files, and merged sstrdup and anopeStrDup, as they do the same thing