diff options
author | C. McEnroe | 2021-05-28 15:35:09 -0400 |
---|---|---|
committer | C. McEnroe | 2021-05-28 15:35:09 -0400 |
commit | 1deee3c81bd7862be52bb2f03da7648756f1e3c9 (patch) | |
tree | 0f67bccb6342132c68d27cbe0709adb37e63b429 /command.c | |
parent | 98206d27ec0e21e022eaf339fb0f04aa2c59f2d7 (diff) |
Improve missing param behavior for /msg, /whois, /ns, /cs
Diffstat (limited to 'command.c')
-rw-r--r-- | command.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/command.c b/command.c index eae865e..ef82d30 100644 --- a/command.c +++ b/command.c @@ -135,12 +135,17 @@ static void commandMe(uint id, char *params) { } static void commandMsg(uint id, char *params) { + if (!params) return; char *nick = strsep(¶ms, " "); uint msg = idFor(nick); if (idColors[msg] == Default) { idColors[msg] = completeColor(id, nick); } - splitMessage("PRIVMSG", msg, params); + if (params) { + splitMessage("PRIVMSG", msg, params); + } else { + uiShowID(msg); + } } static void commandJoin(uint id, char *params) { @@ -332,7 +337,7 @@ static void commandList(uint id, char *params) { static void commandWhois(uint id, char *params) { (void)id; - if (!params) return; + if (!params) params = self.nick; uint count = 1; for (char *ch = params; *ch; ++ch) { if (*ch == ',') count++; @@ -350,12 +355,12 @@ static void commandWhowas(uint id, char *params) { static void commandNS(uint id, char *params) { (void)id; - if (params) ircFormat("PRIVMSG NickServ :%s\r\n", params); + ircFormat("PRIVMSG NickServ :%s\r\n", (params ?: "HELP")); } static void commandCS(uint id, char *params) { (void)id; - if (params) ircFormat("PRIVMSG ChanServ :%s\r\n", params); + ircFormat("PRIVMSG ChanServ :%s\r\n", (params ?: "HELP")); } static void commandQuery(uint id, char *params) { |