From 1e6e533538f5c18adc64f21155cb76277dcb2a9b Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Thu, 6 Feb 2020 03:44:49 -0500 Subject: Send CAP END if CAP LS doesn't list anything good --- handle.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/handle.c b/handle.c index e636434..cb080e9 100644 --- a/handle.c +++ b/handle.c @@ -98,7 +98,11 @@ static void handleCap(struct Message *msg) { enum Cap caps = capParse(msg->params[2]); if (!strcmp(msg->params[1], "LS")) { caps &= ~CapSASL; - ircFormat("CAP REQ :%s\r\n", capList(caps)); + if (caps) { + ircFormat("CAP REQ :%s\r\n", capList(caps)); + } else { + if (!(self.caps & CapSASL)) ircFormat("CAP END\r\n"); + } } else if (!strcmp(msg->params[1], "ACK")) { self.caps |= caps; if (caps & CapSASL) { -- cgit 1.4.0