Correct numeric returned by whois
authorFederico G. Schwindt <fgsch@lodoss.net>
Thu, 5 Sep 2013 09:46:13 +0000 (10:46 +0100)
committerFederico G. Schwindt <fgsch@lodoss.net>
Thu, 5 Sep 2013 16:31:56 +0000 (17:31 +0100)
As per RFC whois should return 431 if no nick is provided.  While
here convert upper check to use irc-macros. As a bonus we get to set
the penalty for free.

src/ngircd/irc-info.c

index 3d77237f4e08f95928d826462734dafc3f19e759..6013fa0c1bff4a6640a096a7fbb729c16fcbb335 100644 (file)
@@ -1211,11 +1211,12 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
 
        IRC_SetPenalty(Client, 1);
 
-       /* Bad number of parameters? */
-       if (Req->argc < 1 || Req->argc > 2)
-               return IRC_WriteErrClient(Client, ERR_NEEDMOREPARAMS_MSG,
-                                         Client_ID(Client), Req->command);
+       /* Wrong number of parameters? */
+       if (Req->argc < 1)
+               return IRC_WriteErrClient(Client, ERR_NONICKNAMEGIVEN_MSG,
+                                         Client_ID(Client));
 
+       _IRC_ARGC_LE_OR_RETURN_(Client, Req, 2)
        _IRC_GET_SENDER_OR_RETURN_(from, Req, Client)
 
        /* Get target server for this command */