- return true;
-}
-
-// adds an e:line (exception to bans)
-
-bool XLineManager::AddELine(long duration, const char* source, const char* reason, const char* hostmask)
-{
- IdentHostPair ih = IdentSplit(hostmask);
-
- if (DelLine(hostmask, 'E', true))
- return false;
-
- ELine* item = new ELine(ServerInstance, ServerInstance->Time(), duration, source, reason, ih.first.c_str(), ih.second.c_str());
-
- active_lines.push_back(item);
- sort(active_lines.begin(), active_lines.end(),XLineManager::XSortComparison);
- lookup_lines['E'][hostmask] = item;
-
- // XXX we really only need to check one line (the new one) - this is a bit wasteful!
- // we should really create a temporary var here and pass that instead.
- // hmm, perhaps we can merge this with line "application" somehow.. and just force a recheck on DelELine?
- this->CheckELines(lookup_lines['E']);
- return true;
-}
-
-// adds a q:line
-
-bool XLineManager::AddQLine(long duration, const char* source, const char* reason, const char* nickname)
-{
- if (DelLine(nickname, 'Q', true))