X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_banredirect.cpp;h=bec69e60840964484dd30000a62d4ecec0ac31fe;hb=5d67a5fff127bf95bca69b436ef7f645f2fe3281;hp=8e9319bcf7f97ec7c8f87ad7b78d46dfba5ea396;hpb=8feb215c20a5e63507ed368ac107dc1782d164ad;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_banredirect.cpp b/src/modules/m_banredirect.cpp index 8e9319bcf..bec69e608 100644 --- a/src/modules/m_banredirect.cpp +++ b/src/modules/m_banredirect.cpp @@ -195,24 +195,20 @@ class BanRedirect : public ModeWatcher class ModuleBanRedirect : public Module { - BanRedirect* re; + BanRedirect re; bool nofollow; Module* ExceptionModule; public: ModuleBanRedirect(InspIRCd* Me) - : Module(Me) + : Module(Me), re(Me) { - re = new BanRedirect(Me); nofollow = false; - if(!ServerInstance->Modes->AddModeWatcher(re)) - { - delete re; + if(!ServerInstance->Modes->AddModeWatcher(&re)) throw ModuleException("Could not add mode watcher"); - } - OnRehash(NULL, ""); + OnRehash(NULL); Implementation list[] = { I_OnRehash, I_OnUserPreJoin, I_OnChannelDelete, I_OnCleanup }; Me->Modules->Attach(list, this, 4); @@ -262,7 +258,7 @@ class ModuleBanRedirect : public Module } } - virtual void OnRehash(User* user, const std::string ¶m) + virtual void OnRehash(User* user) { ExceptionModule = ServerInstance->Modules->Find("m_banexception.so"); } @@ -333,8 +329,7 @@ class ModuleBanRedirect : public Module virtual ~ModuleBanRedirect() { - ServerInstance->Modes->DelModeWatcher(re); - delete re; + ServerInstance->Modes->DelModeWatcher(&re); } virtual Version GetVersion()