summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-01-04 17:45:58 -0500
committerAdam <Adam@anope.org>2014-01-04 17:45:58 -0500
commit45c0bf8f3289f664853dbf36cd33473c01653da1 (patch)
treec18d8396f151a211c8b0ff7016bd532ad6aec2e2 /modules
parentd64855b35b27cc474ce03bcc5809fcf0cd8e11cf (diff)
Fix recovering enforcers not properly quitting them
Diffstat (limited to 'modules')
-rw-r--r--modules/pseudoclients/nickserv.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp
index f40a5339b..04ea411c4 100644
--- a/modules/pseudoclients/nickserv.cpp
+++ b/modules/pseudoclients/nickserv.cpp
@@ -56,11 +56,13 @@ class NickServHeld : public Timer
}
};
+class NickServRelease;
+static Anope::map<NickServRelease *> NickServReleases;
+
/** Timer for releasing nicks to be available for use
*/
class NickServRelease : public User, public Timer
{
- static std::map<Anope::string, NickServRelease *> NickServReleases;
Anope::string nick;
public:
@@ -68,7 +70,7 @@ class NickServRelease : public User, public Timer
Config->GetModule("nickserv")->Get<const Anope::string>("enforcerhost"), "", "", Me, "Services Enforcer", Anope::CurTime, "", Servers::TS6_UID_Retrieve(), NULL), Timer(delay), nick(na->nick)
{
/* Erase the current release timer and use the new one */
- std::map<Anope::string, NickServRelease *>::iterator nit = NickServReleases.find(this->nick);
+ Anope::map<NickServRelease *>::iterator nit = NickServReleases.find(this->nick);
if (nit != NickServReleases.end())
{
IRCD->SendQuit(nit->second, "");
@@ -82,15 +84,12 @@ class NickServRelease : public User, public Timer
~NickServRelease()
{
+ IRCD->SendQuit(this, "");
NickServReleases.erase(this->nick);
}
- void Tick(time_t t)
- {
- IRCD->SendQuit(this, "");
- }
+ void Tick(time_t t) anope_override { }
};
-std::map<Anope::string, NickServRelease *> NickServRelease::NickServReleases;
class NickServCore : public Module, public NickServService
{