summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sessions.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sessions.cpp b/src/sessions.cpp
index f13683050..c125a4cb0 100644
--- a/src/sessions.cpp
+++ b/src/sessions.cpp
@@ -210,17 +210,16 @@ void del_session(const Anope::string &host)
void expire_exceptions()
{
- for (std::vector<Exception *>::iterator it = exceptions.begin(), it_end = exceptions.end(); it != it_end; )
+ for (unsigned i = exceptions.size(); i > 0; --i)
{
- Exception *e = *it;
- std::vector<Exception *>::iterator curr_it = it++;
+ Exception *e = exceptions[i - 1];
if (!e->expires || e->expires > Anope::CurTime)
continue;
if (Config->WallExceptionExpire)
ircdproto->SendGlobops(OperServ, "Session limit exception for %s has expired.", e->mask.c_str());
delete e;
- exceptions.erase(curr_it);
+ exceptions.erase(exceptions.begin() + i - 1);
}
}