&& (keys = strchr(key = keys, ',')))
*keys++ = '\0';
- clean_channelname(name);
- if (!IsChannelName(name))
+ /* Empty keys are the same as no keys. */
+ if (key && !key[0])
+ key = 0;
+
+ if (!IsChannelName(name) || !strIsIrcCh(name))
{
/* bad channel name */
send_reply(sptr, ERR_NOSUCHCHANNEL, name);