delete KFact;
delete QFact;
delete ZFact;
+
+ // Delete all existing XLines
+ for (XLineContainer::iterator i = lookup_lines.begin(); i != lookup_lines.end(); i++)
+ {
+ for (XLineLookup::iterator j = i->second.begin(); j != i->second.end(); j++)
+ {
+ delete j->second;
+ }
+ i->second.clear();
+ }
+ lookup_lines.clear();
+
}
void XLine::Apply(User* u)
snprintf(sreason, MAXBUF, "%s-Lined: %s", line.c_str(), this->reason);
if (*ServerInstance->Config->MoronBanner)
u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
+
if (ServerInstance->Config->HideBans)
- User::QuitUser(ServerInstance, u, line + "-Lined", sreason);
+ ServerInstance->Users->QuitUser(u, line + "-Lined", sreason);
else
- User::QuitUser(ServerInstance, u, sreason);
+ ServerInstance->Users->QuitUser(u, sreason);
if (bancache)
bool ZLine::Matches(const std::string &str)
{
- if (match(str.c_str(), this->ipaddr, true))
+ if (match(str, this->ipaddr, true))
return true;
else
return false;
bool QLine::Matches(const std::string &str)
{
- if (match(str.c_str(), this->nick))
+ if (match(str, this->nick))
return true;
return false;
bool ELine::Matches(const std::string &str)
{
- return ((match(str.c_str(), matchtext.c_str(), true)));
+ return ((match(str, matchtext, true)));
}
bool KLine::Matches(const std::string &str)
{
- return ((match(str.c_str(), matchtext.c_str(), true)));
+ return ((match(str.c_str(), matchtext, true)));
}
bool GLine::Matches(const std::string &str)
{
- return ((match(str.c_str(), matchtext.c_str(), true)));
+ return ((match(str, matchtext, true)));
}
void ELine::OnAdd()