summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
authorNakidai <nakidai@disroot.org>2026-02-01 19:01:04 +0300
committerNakidai <nakidai@disroot.org>2026-02-01 19:05:43 +0300
commitac52bbe3427cda3bd2098ee35e06163885b21836 (patch)
tree51387c4d5f8ebd56c19a345b2e34361c979579c8 /handle.c
parent32e81cb7a0d4f4b1b24674439e5a948b39725f2e (diff)
downloadlibreircd-ac52bbe3427cda3bd2098ee35e06163885b21836.tar.gz
libreircd-ac52bbe3427cda3bd2098ee35e06163885b21836.zip
Refactor QUIT message sending
After seeing same announcing code second time I decided it should be
done before an actual quit in loop.c. Plus, channel exiting is now done
in user_remove().
Diffstat (limited to 'handle.c')
-rw-r--r--handle.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/handle.c b/handle.c
index 2f4d0b8..698e8a9 100644
--- a/handle.c
+++ b/handle.c
@@ -246,20 +246,9 @@ privmsg(struct Message *msg, struct Peer *peer)
 static int
 quit(struct Message *msg, struct Peer *peer)
 {
-	size_t i;
-
 	ensure(peer->type, (void)0, 1)
 
-	announce(
-		peer,
-		":%s!%s@%s QUIT :%s",
-		getnick(peer),
-		peer->user,
-		peer->host,
-		msg->params[0] ? msg->params[0] : "Client Quit"
-	);
-	for (i = 0; i < peer->channels_c; ++i)
-		channel_exit(peer->channels[i], peer);
+	strlcpy(peer->quit, msg->params[0] ? msg->params[0] : "Client Quit", PEER_QUIT_MAX);
 
 	return 1;
 }