diff options
| author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-10-17 01:16:55 +0000 |
|---|---|---|
| committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-10-17 01:16:55 +0000 |
| commit | 11709eade60570b8a1bcb944658a96096ee7e062 (patch) | |
| tree | 60dee26476de3d9a7552e679ce8a2d6d2c23d473 /src | |
| parent | 3806cd84408317d358c22cbfd5aa8bac3e09c72e (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/nickserv.c | 14 |
1 files changed, 14 insertions, 0 deletions
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<NickAlias *, NickServCollide *>::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<NickAlias *, NickServRelease *>::iterator nit = NickServReleases.find(nickalias); + if (nit != NickServReleases.end()) + { + NickServReleases.erase(nit); + } + it = NickServReleases.insert(std::make_pair(nickalias, this)); } |
