}
}
- /*ELine* item = new ELine(ServerInstance, ServerInstance->Time(), duration, source, reason, ih.first.c_str(), ih.second.c_str());*/
+ /*ELine* item = new ELine(ServerInstance->Time(), duration, source, reason, ih.first.c_str(), ih.second.c_str());*/
XLineFactory* xlf = GetFactory(line->type);
if (!xlf)
return false;
// applies lines, removing clients and changing nicks etc as applicable
void XLineManager::ApplyLines()
{
- for (std::vector<User*>::const_iterator u2 = ServerInstance->Users->local_users.begin(); u2 != ServerInstance->Users->local_users.end(); u2++)
+ std::vector<User*>::reverse_iterator u2 = ServerInstance->Users->local_users.rbegin();
+ while (u2 != ServerInstance->Users->local_users.rend())
{
- User* u = (User*)(*u2);
+ User* u = *u2++;
// Don't ban people who are exempt.
if (u->exempt)
}
-XLineManager::XLineManager(InspIRCd* Instance) : ServerInstance(Instance)
+XLineManager::XLineManager()
{
- GFact = new GLineFactory(Instance);
- EFact = new ELineFactory(Instance);
- KFact = new KLineFactory(Instance);
- QFact = new QLineFactory(Instance);
- ZFact = new ZLineFactory(Instance);
+ GFact = new GLineFactory;
+ EFact = new ELineFactory;
+ KFact = new KLineFactory;
+ QFact = new QLineFactory;
+ ZFact = new ZLineFactory;
RegisterFactory(GFact);
RegisterFactory(EFact);
{
char sreason[MAXBUF];
snprintf(sreason, MAXBUF, "%s-Lined: %s", line.c_str(), this->reason.c_str());
- if (*ServerInstance->Config->MoronBanner)
- u->WriteServ("NOTICE %s :*** %s", u->nick.c_str(), ServerInstance->Config->MoronBanner);
+ if (!ServerInstance->Config->MoronBanner.empty())
+ u->WriteServ("NOTICE %s :*** %s", u->nick.c_str(), ServerInstance->Config->MoronBanner.c_str());
if (ServerInstance->Config->HideBans)
ServerInstance->Users->QuitUser(u, line + "-Lined", sreason);