From 3082bfec87bd55b391f2d4099e8d7748902d09de Mon Sep 17 00:00:00 2001 From: Nakidai Date: Thu, 12 Feb 2026 21:22:17 +0300 Subject: Flatten privmsg to a user Version before works fine, but - Checking whether it's a client or not is redundant - writef() was inside the loop before the break; for no good reason --- handle.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) (limited to 'handle.c') diff --git a/handle.c b/handle.c index d32714c..27fdb86 100644 --- a/handle.c +++ b/handle.c @@ -455,25 +455,22 @@ privmsg(struct Message *msg, struct Peer *peer) default: { for (i = 0; i < peers_c; ++i) - { - if (peers[i].type != CLIENT || strcmp(peers[i].nick, msg->params[0])) - continue; - - writef( - peers[i].fd, - ":%s!%s@%s %s %s :%s", - peer->nick, - peer->user, - peer->host, - *msg->command == 'p' - ? "PRIVMSG" - : "NOTICE", - msg->params[0], - msg->params[1] - ); - break; - } + if (!strcmp(peers[i].nick, msg->params[0])) + break; ensure(i != peers_c, reply(peer, 401, msg->params[0]), 0); + + writef( + peers[i].fd, + ":%s!%s@%s %s %s :%s", + peer->nick, + peer->user, + peer->host, + *msg->command == 'p' + ? "PRIVMSG" + : "NOTICE", + msg->params[0], + msg->params[1] + ); } break; } return 0; -- cgit 1.4.1