X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_channames.cpp;h=ba03f9af5480013e4942f49df79f4798a89848c5;hb=95c1fb9bdd5f93cf4f8306a7b8ae9ca098aade1a;hp=a918eefd2800af51a579c213552da14a1ad5c195;hpb=7d93921aabd9c608821baec8a871aff844dfae49;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_channames.cpp b/src/modules/m_channames.cpp index a918eefd2..ba03f9af5 100644 --- a/src/modules/m_channames.cpp +++ b/src/modules/m_channames.cpp @@ -19,9 +19,8 @@ static bool allowedmap[256]; class NewIsChannelHandler : public HandlerBase2 { - InspIRCd* Server; public: - NewIsChannelHandler(InspIRCd* Srv) : Server(Srv) { } + NewIsChannelHandler() { } virtual ~NewIsChannelHandler() { } virtual bool Call(const char*, size_t); }; @@ -44,19 +43,14 @@ bool NewIsChannelHandler::Call(const char* chname, size_t max) class ModuleChannelNames : public Module { private: - InspIRCd* ServerInstance; - NewIsChannelHandler* myhandler; - caller2 * rememberer; + NewIsChannelHandler myhandler; + caller2 rememberer; bool badchan; public: - ModuleChannelNames(InspIRCd* Me) : Module(Me) + ModuleChannelNames() : rememberer(ServerInstance->IsChannel) { - rememberer = (caller2 *) malloc(sizeof(caller2)); - ServerInstance = Me; - *rememberer = ServerInstance->IsChannel; - myhandler = new NewIsChannelHandler(ServerInstance); - ServerInstance->IsChannel = myhandler; + ServerInstance->IsChannel = &myhandler; badchan = false; Implementation eventlist[] = { I_OnRehash, I_OnUserKick }; ServerInstance->Modules->Attach(eventlist, this, 2); @@ -95,7 +89,7 @@ class ModuleChannelNames : public Module virtual void OnRehash(User* user) { - ConfigReader Conf(ServerInstance); + ConfigReader Conf; std::string denyToken = Conf.ReadValue("channames", "denyrange", 0); std::string allowToken = Conf.ReadValue("channames", "allowrange", 0); memset(allowedmap, 1, sizeof(allowedmap)); @@ -130,15 +124,13 @@ class ModuleChannelNames : public Module virtual ~ModuleChannelNames() { - delete myhandler; - ServerInstance->IsChannel = *rememberer; - free(rememberer); + ServerInstance->IsChannel = rememberer; ValidateChans(); } virtual Version GetVersion() { - return Version("Implements config tags which allow changing characters allowed in channel names", VF_VENDOR,API_VERSION); + return Version("Implements config tags which allow changing characters allowed in channel names", VF_VENDOR); } };