kike: allow STATS with no parameters

We were in plain conflict with RFC 2812 for no apparent reason.
This commit is contained in:
Přemysl Eric Janouch 2018-08-01 09:24:35 +02:00
parent b9eddabedd
commit 2fccfb10f7
Signed by: p
GPG Key ID: A0420B94F92B9493

8
kike.c
View File

@ -2894,9 +2894,9 @@ irc_handle_stats_uptime (struct client *c)
static void static void
irc_handle_stats (const struct irc_message *msg, struct client *c) irc_handle_stats (const struct irc_message *msg, struct client *c)
{ {
char query; char query = 0;
if (msg->params.len < 1 || !(query = *msg->params.vector[0])) if (msg->params.len > 0)
RETURN_WITH_REPLY (c, IRC_ERR_NEEDMOREPARAMS, msg->command); query = *msg->params.vector[0];
if (msg->params.len > 1 && !irc_is_this_me (c->ctx, msg->params.vector[1])) if (msg->params.len > 1 && !irc_is_this_me (c->ctx, msg->params.vector[1]))
RETURN_WITH_REPLY (c, IRC_ERR_NOSUCHSERVER, msg->params.vector[1]); RETURN_WITH_REPLY (c, IRC_ERR_NOSUCHSERVER, msg->params.vector[1]);
if (!(c->mode & IRC_USER_MODE_OPERATOR)) if (!(c->mode & IRC_USER_MODE_OPERATOR))
@ -2909,7 +2909,7 @@ irc_handle_stats (const struct irc_message *msg, struct client *c)
case 'u': irc_handle_stats_uptime (c); break; case 'u': irc_handle_stats_uptime (c); break;
} }
irc_send_reply (c, IRC_RPL_ENDOFSTATS, query); irc_send_reply (c, IRC_RPL_ENDOFSTATS, query ? query : '*');
} }
static void static void