diff options
| -rw-r--r-- | handle.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/handle.c b/handle.c index 8c36a73..684c2ee 100644 --- a/handle.c +++ b/handle.c @@ -298,7 +298,8 @@ names(struct Message *msg, struct Peer *peer) else if (chpp->modes & CHANNEL_VOICE) strlcat(buf, "+", sizeof(buf)); strlcat(buf, peer->channels[i]->peers[j].p->nick, sizeof(buf)); - if (strlen(buf) >= MESSAGE_MAX - 4*PEER_NICK_MAX) + if (strlen(buf) >= MESSAGE_MAX - 4*PEER_NICK_MAX + || j + 1 == peer->channels[i]->peers_c) { reply(peer, 353, peer->channels[i]->name, buf); memset(buf, 0, sizeof(buf)); @@ -307,8 +308,6 @@ names(struct Message *msg, struct Peer *peer) strlcat(buf, " ", sizeof(buf)); } } - if (*buf) - reply(peer, 353, peer->channels[i]->name, buf); } reply(peer, 366, msg->params[0] ? msg->params[0] : "*"); |