diff options
| author | Adam <Adam@anope.org> | 2011-11-05 15:05:15 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2011-11-05 15:05:15 -0400 |
| commit | 97b9055f92f21cd91af44a3d5dacce0024536cff (patch) | |
| tree | 617a18ffcd1be8e3be5bf25d42fc407454f66505 /modules | |
| parent | 5f0b9338dc58923bbbba8293bf9021e87ceb1976 (diff) | |
Remove xlines from the IRCd aswell as from our list when the clear command is used, and fixed adding timed Zlines to inspircd
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/commands/os_akill.cpp | 8 | ||||
| -rw-r--r-- | modules/commands/os_sxline.cpp | 8 | ||||
| -rw-r--r-- | modules/protocol/inspircd-ts6.h | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/modules/commands/os_akill.cpp b/modules/commands/os_akill.cpp index 3b82fb5fb..ea8b2e40c 100644 --- a/modules/commands/os_akill.cpp +++ b/modules/commands/os_akill.cpp @@ -379,7 +379,13 @@ class CommandOSAKill : public Command { User *u = source.u; FOREACH_MOD(I_OnDelXLine, OnDelXLine(u, NULL, akills)); - akills->Clear(); + + for (unsigned i = akills->GetCount(); i > 0; --i) + { + XLine *x = akills->GetEntry(i - 1); + akills->DelXLine(x); + } + source.Reply(_("The AKILL list has been cleared.")); return; diff --git a/modules/commands/os_sxline.cpp b/modules/commands/os_sxline.cpp index 56444383d..fb5b7f244 100644 --- a/modules/commands/os_sxline.cpp +++ b/modules/commands/os_sxline.cpp @@ -272,7 +272,13 @@ class CommandOSSXLineBase : public Command { User *u = source.u; FOREACH_MOD(I_OnDelXLine, OnDelXLine(u, NULL, this->xlm())); - this->xlm()->Clear(); + + for (unsigned i = this->xlm()->GetCount(); i > 0; --i) + { + XLine *x = this->xlm()->GetEntry(i - 1); + this->xlm()->DelXLine(x); + } + source.Reply(_("The %s list has been cleared."), this->name.c_str()); return; diff --git a/modules/protocol/inspircd-ts6.h b/modules/protocol/inspircd-ts6.h index 4ad003ad5..a540f30b3 100644 --- a/modules/protocol/inspircd-ts6.h +++ b/modules/protocol/inspircd-ts6.h @@ -218,7 +218,7 @@ class InspIRCdTS6Proto : public IRCDProto time_t timeleft = x->Expires - Anope::CurTime; if (timeleft > 172800 || !x->Expires) timeleft = 172800; - send_cmd(Config->Numeric, "ADDLINE Z %s %s %ld %ld :%s", x->GetHost().c_str(), x->By.c_str(), static_cast<long>(Anope::CurTime), static_cast<long>(Anope::CurTime), x->Reason.c_str()); + send_cmd(Config->Numeric, "ADDLINE Z %s %s %ld %ld :%s", x->GetHost().c_str(), x->By.c_str(), static_cast<long>(Anope::CurTime), static_cast<long>(timeleft), x->Reason.c_str()); } void SendSVSJoin(const Anope::string &source, const Anope::string &nick, const Anope::string &chan, const Anope::string &) |
