]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Some more to fix still, modules probably wont load correctly atm
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 4 Nov 2007 19:35:34 +0000 (19:35 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 4 Nov 2007 19:35:34 +0000 (19:35 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8515 e03df62e-2008-0410-955e-edbf42e46eb7

src/commands/cmd_modules.cpp
src/modules/m_spanningtree/treesocket2.cpp

index a70477e693be18e13f7ad8c7d56bf2fb7c58a8c9..434bd9569c1bd2e865d63c0544cb674a54d1d576 100644 (file)
@@ -39,10 +39,13 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance)
 /** Handle /MODULES
  */
 CmdResult CommandModules::Handle (const char**, int, User *user)
-{/* XXX FIXME
-       for (unsigned int i = 0; i < ServerInstance->Config->module_names.size(); i++)
+{
+       std::vector<std::string> 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,"  <no flags>");
-               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
                {
@@ -67,6 +70,6 @@ CmdResult CommandModules::Handle (const char**, int, User *user)
                }
        }
        user->WriteServ("901 %s :End of MODULES list",user->nick);
-       */
+
        return CMD_SUCCESS;
 }
index 5f3f11fc32b6f809ac037de02b1c9a9cf57059b8..b18261c52585f6ac1264fe3c1e04e8bf0f375385 100644 (file)
@@ -71,9 +71,12 @@ bool TreeSocket::Modules(const std::string &prefix, std::deque<std::string> &par
        if (!source)
                return true;
 
-       for (unsigned int i = 0; i < Instance->Config->module_names.size(); i++)
+       std::vector<std::string> module_names = Instance->Modules->GetAllModuleNames(0);
+
+       for (unsigned int i = 0; i < module_names.size(); i++)
        {
-               Version V = Instance->Modules->modules[i]->GetVersion();
+               Module* m = Instance->Modules->Find(module_names[i]);
+               Version V = m->GetVersion();
                char modulename[MAXBUF];
                char flagstate[MAXBUF];
                *flagstate = 0;
@@ -87,10 +90,11 @@ bool TreeSocket::Modules(const std::string &prefix, std::deque<std::string> &par
                        strlcat(flagstate,", service provider",MAXBUF);
                if (!flagstate[0])
                        strcpy(flagstate,"  <no flags>");
-               strlcpy(modulename,Instance->Config->module_names[i].c_str(),256);
+               strlcpy(modulename,module_names[i].c_str(),256);
                if (*source->oper)
                {
-                       snprintf(strbuf, MAXBUF, "::%s 900 %s :0x%08lx %d.%d.%d.%d %s (%s)",Instance->Config->ServerName,source->nick,(long unsigned int)Instance->Modules->modules[i],V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
+                       snprintf(strbuf, MAXBUF, "::%s 900 %s :0x%08lx %d.%d.%d.%d %s (%s)",Instance->Config->ServerName,source->nick,(unsigned long)m,
+                                       V.Major,V.Minor,V.Revision,V.Build,ServerConfig::CleanFilename(modulename),flagstate+2);
                }
                else
                {