diff options
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r-- | src/inspircd.cpp | 8 |
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 |