repo: ngircd
action: commit
revision: 
path_from: 
revision_from: a98bbc8e0b937f4fedf7ad852eaf109c6a9c5b8f:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit a98bbc8e0b937f4fedf7ad852eaf109c6a9c5b8f
Author: Federico G. Schwindt 
Date:   Thu Sep 5 10:46:13 2013 +0100

    Correct numeric returned by whois

    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.

diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index 3d77237f4e08f95928d826462734dafc3f19e759..
index ..6013fa0c1bff4a6640a096a7fbb729c16fcbb335 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -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 */

-----END OF PAGE-----