X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_chanfilter.cpp;h=eae5ba843333ed5f58bc21b4e44cc6f304567228;hb=1484a054870bdfe94346057053d5c8e48a708232;hp=cfb1d351e2167e198bd786870effe6b1bca7274c;hpb=a09109f61286bcd50ec5b8aaf08b98dd9a3985c3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp index cfb1d351e..eae5ba843 100644 --- a/src/modules/m_chanfilter.cpp +++ b/src/modules/m_chanfilter.cpp @@ -31,7 +31,7 @@ using namespace std; class ChanFilter : public ListModeBase { public: - ChanFilter(Server* serv) : ListModeBase(serv, 'g', "End of channel spamfilter list", "941", "940", "chanfilter") { } + ChanFilter(Server* serv) : ListModeBase(serv, 'g', "End of channel spamfilter list", "941", "940", false, "chanfilter") { } virtual bool ValidateParam(userrec* user, chanrec* chan, std::string &word) { @@ -77,6 +77,7 @@ class ModuleChanFilter : public Module void Implements(char* List) { + cf->DoImplements(List); List[I_OnCleanup] = List[I_On005Numeric] = List[I_OnChannelDelete] = List[I_OnRehash] = List[I_OnUserPreMessage] = List[I_OnUserPreNotice] = List[I_OnSyncChannel] = 1; } @@ -100,7 +101,8 @@ class ModuleChanFilter : public Module // Create a copy of the string in irc::string irc::string line = text.c_str(); - modelist* list = (modelist*)chan->GetExt(cf->GetInfoKey()); + modelist* list; + chan->GetExt(cf->GetInfoKey(), list); if (list) { @@ -147,6 +149,7 @@ class ModuleChanFilter : public Module virtual ~ModuleChanFilter() { + DELETE(cf); } };