From 5f0b9338dc58923bbbba8293bf9021e87ceb1976 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 5 Nov 2011 00:11:49 -0400 Subject: Set proper expirys on ZLines if the IRCd supports it --- modules/protocol/unreal.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules/protocol/unreal.cpp') diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index 6b4d844d5..bb23ade2a 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -267,7 +267,11 @@ class UnrealIRCdProto : public IRCDProto /* SZLINE */ void SendSZLine(User *, const XLine *x) { - send_cmd("", "BD + Z * %s %s %ld %ld :%s", x->GetHost().c_str(), x->By.c_str(), static_cast(Anope::CurTime + 172800), static_cast(Anope::CurTime), x->Reason.c_str()); + // Calculate the time left before this would expire, capping it at 2 days + time_t timeleft = x->Expires - Anope::CurTime; + if (timeleft > 172800 || !x->Expires) + timeleft = 172800; + send_cmd("", "BD + Z * %s %s %ld %ld :%s", x->GetHost().c_str(), x->By.c_str(), static_cast(Anope::CurTime + timeleft), static_cast(x->Created), x->Reason.c_str()); } /* SGLINE */ -- cgit