From d24c7ebd16a665a4db0c4332625b71a3ff53e947 Mon Sep 17 00:00:00 2001 From: "rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Wed, 13 Oct 2004 19:31:24 +0000 Subject: 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 --- src/modules.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/modules.c') 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); -- cgit