summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-13 19:31:24 +0000
committerrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-10-13 19:31:24 +0000
commitd24c7ebd16a665a4db0c4332625b71a3ff53e947 (patch)
treed5078730a67ddade1e8e606db2262830e106b7e7 /src
parente6ed7b9eb57116b2d9a8e1d781fd334f409ed01b (diff)
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 :)
git-svn-id: svn://svn.anope.org/anope/trunk@396 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@261 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/modules.c16
-rw-r--r--src/modules/hs_moo.c11
2 files changed, 26 insertions, 1 deletions
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 */