diff --git a/kike.c b/kike.c index dfabc9c..64bebc9 100644 --- a/kike.c +++ b/kike.c @@ -2894,9 +2894,9 @@ irc_handle_stats_uptime (struct client *c) static void irc_handle_stats (const struct irc_message *msg, struct client *c) { - char query; - if (msg->params.len < 1 || !(query = *msg->params.vector[0])) - RETURN_WITH_REPLY (c, IRC_ERR_NEEDMOREPARAMS, msg->command); + char query = 0; + if (msg->params.len > 0) + query = *msg->params.vector[0]; 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]); 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; } - irc_send_reply (c, IRC_RPL_ENDOFSTATS, query); + irc_send_reply (c, IRC_RPL_ENDOFSTATS, query ? query : '*'); } static void