]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/utils.cpp
Move SID into TreeSocket constructor. w00t, search for "new TreeSocket" to see where...
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / utils.cpp
index b8a634797b8acf691374986caaabf1ead0b48495..8610a16662567212368fae75402443ab657b56f6 100644 (file)
@@ -149,6 +149,15 @@ TreeServer* SpanningTreeUtilities::FindServerMask(const std::string &ServerName)
        return NULL;
 }
 
+TreeServer* SpanningTreeUtilities::FindServerID(const std::string &id)
+{
+       server_hash::iterator iter = sidlist.find(id);
+       if (iter != sidlist.end())
+               return iter->second;
+       else
+               return NULL;
+}
+
 /* A convenient wrapper that returns true if a server exists */
 bool SpanningTreeUtilities::IsServer(const std::string &ServerName)
 {
@@ -159,9 +168,15 @@ SpanningTreeUtilities::SpanningTreeUtilities(InspIRCd* Instance, ModuleSpanningT
 {
        Bindings.clear();
 
+       std::string OurSID;
+
+       OurSID += (char)((Instance->Config->sid / 100) + 48);
+       OurSID += (char)((Instance->Config->sid / 10) % 10 + 48);
+       OurSID += (char)(Instance->Config->sid % 10 + 48);
+
        lines_to_apply = 0;
 
-       this->TreeRoot = new TreeServer(this, ServerInstance, ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc);
+       this->TreeRoot = new TreeServer(this, ServerInstance, ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc, OurSID);
 
        modulelist* ml = ServerInstance->FindInterface("InspSocketHook");