From 1171a1067c66a0e22b9712bae6bbb09d1a9d6ca5 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Thu, 8 Jul 2021 16:02:18 -0400 Subject: Use seprintf to build final 005 Rather than causing a tls_write(3) for each remaining token. --- state.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/state.c b/state.c index 85d921a..21669c4 100644 --- a/state.c +++ b/state.c @@ -416,11 +416,13 @@ void stateSync(struct Client *client) { ); } if (i < support.len) { - clientFormat(client, ":%s 005 %s", intro.origin, self.nick); + char buf[512], *ptr = buf, *end = &buf[sizeof(buf)]; + ptr = seprintf(ptr, end, ":%s 005 %s", intro.origin, self.nick); for (; i < support.len; ++i) { - clientFormat(client, " %s", support.tokens[i]); + ptr = seprintf(ptr, end, " %s", support.tokens[i]); } - clientFormat(client, " :are supported by this server\r\n"); + ptr = seprintf(ptr, end, " :are supported by this server\r\n"); + clientSend(client, buf, ptr - buf); } clientFormat( -- cgit 1.4.1