X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands%2Fcmd_modules.cpp;h=7649dbc9145530538e402e0edd07d71db625e0d3;hb=bfaf7e3b27981a5144faba6d17c6e29fac735dbb;hp=f961b6268c68f230cbbef18d286be76931626958;hpb=352eb2b29f2e3f759ef74344b4807b1b6dff8e59;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands/cmd_modules.cpp b/src/commands/cmd_modules.cpp index f961b6268..7649dbc91 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", @@ -40,9 +40,12 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance) */ CmdResult CommandModules::Handle (const char**, 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**, int, 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 {