summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-06-02 23:39:20 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-06-02 23:39:20 +0000
commit596e77768110e8fa48c8866fa1367160487d595a (patch)
tree486eba3ec1ac55c358b017990efb777810a40c32 /src
parentfce90c83999604a5da6fcb0885148036e2c0f31b (diff)
Possibly fixed the 'vincent' bug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1597 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/inspircd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 08897680f..7d4f8f82e 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -2346,6 +2346,7 @@ void NetSendMyRoutingTable()
void DoSplit(const char* params)
{
bool go_again = true;
+ int x = 0;
while (go_again)
{
go_again = false;
@@ -2357,16 +2358,23 @@ void DoSplit(const char* params)
{
if (!strcasecmp(j->GetServerName().c_str(),params))
{
+ log(DEBUG,"Removing %s",j->GetServerName().c_str());
j->routes.clear();
j->CloseConnection();
me[i]->connectors.erase(j);
go_again = true;
+ x++;
break;
}
}
}
}
}
+ if (!x)
+ {
+ log(DEBUG,"No clients to remove.");
+ return;
+ }
log(DEBUG,"Removed server. Will remove clients...");
// iterate through the userlist and remove all users on this server.
// because we're dealing with a mesh, we dont have to deal with anything