]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/modules.cpp
Fix timeoutlist calling ConnectServer when not needed
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / modules.cpp
index e19dd3326781709a9ac71b97be7022dde1515724..635fac7d3bca70d1c000186fa9f7f8f8e73b71a7 100644 (file)
 #include "inspircd.h"
 #include "xline.h"
 
-#include "m_spanningtree/treesocket.h"
-#include "m_spanningtree/treeserver.h"
-#include "m_spanningtree/utils.h"
+#include "treesocket.h"
+#include "treeserver.h"
+#include "utils.h"
 
 /* $ModDep: m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/treesocket.h */
 
 
-bool TreeSocket::Modules(const std::string &prefix, std::deque<std::string> &params)
+bool TreeSocket::Modules(const std::string &prefix, parameterlist &params)
 {
        if (params.empty())
                return true;
 
-       if (!InspIRCd::Match(this->ServerInstance->Config->ServerName, params[0]))
+       if (!InspIRCd::Match(ServerInstance->Config->ServerName, params[0]))
        {
                /* Pass it on, not for us */
                Utils->DoOneToOne(prefix, "MODULES", params, params[0]);
@@ -34,11 +34,11 @@ bool TreeSocket::Modules(const std::string &prefix, std::deque<std::string> &par
        }
 
        char strbuf[MAXBUF];
-       std::deque<std::string> par;
+       parameterlist par;
        par.push_back(prefix);
        par.push_back("");
 
-       User* source = this->ServerInstance->FindNick(prefix);
+       User* source = ServerInstance->FindNick(prefix);
        if (!source)
                return true;
 
@@ -51,17 +51,17 @@ bool TreeSocket::Modules(const std::string &prefix, std::deque<std::string> &par
 
                if (IS_OPER(source))
                {
-                        std::string flags("Svsc");
+                       std::string flags("SvscC");
                        int pos = 0;
-                       for (int mult = 1; mult <= VF_SERVICEPROVIDER; mult *= 2, ++pos)
+                       for (int mult = 1; mult <= VF_OPTCOMMON; mult *= 2, ++pos)
                                if (!(V.Flags & mult))
                                        flags[pos] = '-';
 
-                       snprintf(strbuf, MAXBUF, "::%s 702 %s :0x%08lx %s %s :%s", ServerInstance->Config->ServerName, source->nick.c_str(),(unsigned long)m, module_names[i].c_str(), flags.c_str(), V.version.c_str());
+                       snprintf(strbuf, MAXBUF, "::%s 702 %s :0x%08lx %s %s :%s - %s", ServerInstance->Config->ServerName, source->nick.c_str(),(unsigned long)m, module_names[i].c_str(), flags.c_str(), V.description.c_str(), V.version.c_str());
                }
                else
                {
-                       snprintf(strbuf, MAXBUF, "::%s 702 %s :%s", ServerInstance->Config->ServerName, source->nick.c_str(), module_names[i].c_str());
+                       snprintf(strbuf, MAXBUF, "::%s 702 %s :%s %s", ServerInstance->Config->ServerName, source->nick.c_str(), module_names[i].c_str(), V.description.c_str());
                }
                par[1] = strbuf;
                Utils->DoOneToOne(ServerInstance->Config->GetSID(), "PUSH", par, source->server);