class BanException : public ListModeBase
{
public:
- BanException(Server* serv) : ListModeBase(serv, 'e', "End of Channel Exception List", "348", "349") { }
+ BanException(Server* serv) : ListModeBase(serv, 'e', "End of Channel Exception List", "348", "349", true) { }
};
Server* Srv;
public:
- ModuleBanException(Server* serv) : Module(serv)
+ ModuleBanException(Server* serv)
+ : Module::Module(serv)
{
be = new BanException(serv);
Srv = serv;
+ Srv->AddMode(be, 'e');
}
virtual void Implements(char* List)
{
if(chan != NULL)
{
- modelist* list = (modelist*)chan->GetExt(be->GetInfoKey());
+ modelist* list;
+ chan->GetExt(be->GetInfoKey(), list);
Srv->Log(DEBUG, std::string(user->nick)+" is trying to join "+std::string(chan->name)+", checking for ban exceptions");
if(list)
{
return Version(1, 0, 0, 3, VF_STATIC | VF_VENDOR);
}
+
+ virtual ~ModuleBanException()
+ {
+ DELETE(be);
+ }
};
class ModuleBanExceptionFactory : public ModuleFactory