X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands%2Fcmd_modules.cpp;h=482eb82e4597ee52f70f9013c4b23c03ff15b31c;hb=525eeb51a52ca9dbd001f0897222f6e5a3dccfb1;hp=1ff8c1c756c96000c94dc3573a142fdf228642a0;hpb=5d5285f24b1fe306faa2a6d0565ba1cff0f17f11;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands/cmd_modules.cpp b/src/commands/cmd_modules.cpp index 1ff8c1c75..482eb82e4 100644 --- a/src/commands/cmd_modules.cpp +++ b/src/commands/cmd_modules.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * InspIRCd: (C) 2002-2008 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -15,7 +15,7 @@ #include "wildcard.h" #include "commands/cmd_modules.h" -char* itab[] = { +const char* itab[] = { "OnUserConnect", "OnUserQuit", "OnUserDisconnect", "OnUserJoin", "OnUserPart", "OnRehash", "OnServerRaw", "OnUserPreJoin", "OnUserPreKick", "OnUserKick", "OnOper", "OnInfo", "OnWhois", "OnUserPreInvite", "OnUserInvite", "OnUserPreMessage", "OnUserPreNotice", "OnUserPreNick", "OnUserMessage", "OnUserNotice", "OnMode", @@ -38,11 +38,14 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance) /** Handle /MODULES */ -CmdResult CommandModules::Handle (const char** parameters, int pcnt, User *user) +CmdResult CommandModules::Handle (const char* const*, int, User *user) { - for (unsigned int i = 0; i < ServerInstance->Config->module_names.size(); i++) + std::vector module_names = ServerInstance->Modules->GetAllModuleNames(0); + + for (unsigned int i = 0; i < module_names.size(); i++) { - Version V = ServerInstance->Modules->modules[i]->GetVersion(); + Module* m = ServerInstance->Modules->Find(module_names[i]); + Version V = m->GetVersion(); char modulename[MAXBUF]; char flagstate[MAXBUF]; *flagstate = 0; @@ -56,10 +59,10 @@ CmdResult CommandModules::Handle (const char** parameters, int pcnt, User *user) strlcat(flagstate,", service provider",MAXBUF); if (!flagstate[0]) strcpy(flagstate," "); - strlcpy(modulename,ServerInstance->Config->module_names[i].c_str(),256); + strlcpy(modulename,module_names[i].c_str(),256); if (IS_OPER(user)) { - user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,ServerInstance->Modules->modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2); + user->WriteServ("900 %s :0x%08lx %d.%d.%d.%d %s (%s)",user->nick,m,V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2); } else {