summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/configreader.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index c15b5c0e7..6317bca95 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -420,7 +420,6 @@ bool InitConnect(ServerConfig* conf, const char*)
conf->GetInstance()->Log(DEBUG, "Address of class is %p", c);
}
-goagain:
for (ClassVector::iterator i = conf->Classes.begin(); i != conf->Classes.end(); i++)
{
ConnectClass *c = *i;
@@ -430,7 +429,7 @@ goagain:
{
conf->GetInstance()->Log(DEFAULT, "Removing connect class, refcount is 0!");
conf->Classes.erase(i);
- goto goagain; // XXX fucking hell.. how better to do this
+ i = conf->Classes.begin(); // start over so we don't trample on a bad iterator
}
/* also mark all existing classes disabled, if they still exist in the conf, they will be reenabled. */