From 11709eade60570b8a1bcb944658a96096ee7e062 Mon Sep 17 00:00:00 2001 From: Adam- Date: Sat, 17 Oct 2009 01:16:55 +0000 Subject: [PATCH] Use the most recent NickServ collide/release timer for a nick instead of using the old and rejecting new ones git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2564 5417fbe8-f217-4b02-8779-1006273d7864 --- src/nickserv.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/nickserv.c b/src/nickserv.c index 22938b954..9ef0f8614 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -45,6 +45,13 @@ class NickServCollide : public Timer NickServCollide(NickAlias *nickalias, time_t delay) : Timer(delay), na(nickalias) { + /* Erase the current collide and use the new one */ + std::map::iterator nit = NickServCollides.find(nickalias); + if (nit != NickServCollides.end()) + { + NickServCollides.erase(nit); + } + it = NickServCollides.insert(std::make_pair(nickalias, this)); } @@ -92,6 +99,13 @@ class NickServRelease : public Timer NickServRelease(NickAlias *nickalias, time_t delay) : Timer(delay), na(nickalias) { + /* Erase the current release timer and use the new one */ + std::map::iterator nit = NickServReleases.find(nickalias); + if (nit != NickServReleases.end()) + { + NickServReleases.erase(nit); + } + it = NickServReleases.insert(std::make_pair(nickalias, this)); }