]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treeserver.cpp
Merge pull request #708 from SaberUK/master+development-branch
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treeserver.cpp
index fe7dbe170fc7524e732b85936db4239acde4e563..8af3e777d9c68997b7b14752cbb040ad5fc19b3f 100644 (file)
@@ -119,9 +119,9 @@ void TreeServer::FinishBurstInternal()
        this->bursting = false;
        SetNextPingTime(ServerInstance->Time() + Utils->PingFreq);
        SetPingFlag();
-       for(unsigned int q=0; q < ChildCount(); q++)
+       for (ChildServers::const_iterator i = Children.begin(); i != Children.end(); ++i)
        {
-               TreeServer* child = GetChild(q);
+               TreeServer* child = *i;
                child->FinishBurstInternal();
        }
 }
@@ -229,28 +229,6 @@ void TreeServer::SetVersion(const std::string &Version)
        VersionString = Version;
 }
 
-unsigned int TreeServer::ChildCount()
-{
-       return Children.size();
-}
-
-TreeServer* TreeServer::GetChild(unsigned int n)
-{
-       if (n < Children.size())
-       {
-               /* Make sure they  cant request
-                * an out-of-range object. After
-                * all we know what these programmer
-                * types are like *grin*.
-                */
-               return Children[n];
-       }
-       else
-       {
-               return NULL;
-       }
-}
-
 void TreeServer::AddChild(TreeServer* Child)
 {
        Children.push_back(Child);
@@ -271,13 +249,13 @@ bool TreeServer::DelChild(TreeServer* Child)
  * This is used during netsplits to automatically tidy up the
  * server tree. It is slow, we don't use it for much else.
  */
-bool TreeServer::Tidy()
+void TreeServer::Tidy()
 {
        while (1)
        {
                std::vector<TreeServer*>::iterator a = Children.begin();
                if (a == Children.end())
-                       return true;
+                       return;
                TreeServer* s = *a;
                s->Tidy();
                s->cull();
@@ -288,7 +266,7 @@ bool TreeServer::Tidy()
 
 CullResult TreeServer::cull()
 {
-       if (ServerUser != ServerInstance->FakeClient)
+       if (!IsRoot())
                ServerUser->cull();
        return classbase::cull();
 }
@@ -296,7 +274,7 @@ CullResult TreeServer::cull()
 TreeServer::~TreeServer()
 {
        /* We'd better tidy up after ourselves, eh? */
-       if (ServerUser != ServerInstance->FakeClient)
+       if (!IsRoot())
                delete ServerUser;
 
        Utils->sidlist.erase(sid);