From e05150a6fb93de818074a3328bf617291910d606 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 25 Feb 2020 19:07:44 -0500 Subject: Respond to tagged PINGs correctly Yikes. --- server.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index 1741f14..e8c8880 100644 --- a/server.c +++ b/server.c @@ -165,8 +165,13 @@ void serverRecv(void) { if (!crlf) break; crlf[0] = '\0'; if (verbose) fprintf(stderr, "\x1B[32m%s\x1B[m\n", line); - if (!strncmp(line, "PING ", 5)) { - serverFormat("PONG %s\r\n", &line[5]); + const char *ping = line; + if (ping[0] == '@') { + ping += strcspn(ping, " "); + if (*ping) ping++; + } + if (!strncmp(ping, "PING ", 5)) { + serverFormat("PONG %s\r\n", &ping[5]); } else { if (stateReady()) ringProduce(line); stateParse(line); -- cgit 1.4.1