commit 0dc3c134697444e1470c87c6f22211ba220ec4ec
parent d0d4de498000ff80d11aaa35509f082a80bb317e
Author: Alexander Barton <alex@barton.de>
Date: Thu, 8 Dec 2016 00:22:05 +0100
x-Line synchronization: Don't send negative durations
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/ngircd/numeric.c b/src/ngircd/numeric.c
@@ -176,6 +176,7 @@ Synchronize_Lists(CLIENT * Client)
CHANNEL *c;
struct list_head *head;
struct list_elem *elem;
+ time_t t;
assert(Client != NULL);
@@ -183,9 +184,10 @@ Synchronize_Lists(CLIENT * Client)
head = Class_GetList(CLASS_GLINE);
elem = Lists_GetFirst(head);
while (elem) {
+ t = Lists_GetValidity(elem) - time(NULL);
if (!IRC_WriteStrClient(Client, "GLINE %s %ld :%s",
Lists_GetMask(elem),
- (long)(Lists_GetValidity(elem) - time(NULL)),
+ t > 0 ? (long)t : 0,
Lists_GetReason(elem)))
return DISCONNECTED;
elem = Lists_GetNext(elem);