commit - 5a34bb203ae61c22edbf64741cf9222a04eeead9
commit + a990bd72ece1569ec24b598cfa7ac83d25a3cb8f
blob - 638a8e92f9156be6a453af1ae07224426040ecb3
blob + 9640a307977b43fc5f3b8bd56ec4994b894c3b92
--- src/ngircd/irc-info.c
+++ src/ngircd/irc-info.c
} /* IRC_WHO */
+/**
+ * Handler for the IRC "WHOIS" command.
+ *
+ * See RFC 2812, 3.6.2 "Whois query".
+ *
+ * @param Client The client from which this command has been received.
+ * @param Req Request structure with prefix and all parameters.
+ * @return CONNECTED or DISCONNECTED.
+ */
GLOBAL bool
IRC_WHOIS( CLIENT *Client, REQUEST *Req )
{
assert( Req != NULL );
/* Bad number of parameters? */
- if(( Req->argc < 1 ) || ( Req->argc > 2 )) return IRC_WriteStrClient( Client, ERR_NEEDMOREPARAMS_MSG, Client_ID( Client ), Req->command );
+ if (Req->argc < 1 || Req->argc > 2)
+ return IRC_WriteStrClient(Client, ERR_NEEDMOREPARAMS_MSG,
+ Client_ID(Client), Req->command);
/* Search client */
- c = Client_Search( Req->argv[Req->argc - 1] );
- if(( ! c ) || ( Client_Type( c ) != CLIENT_USER )) return IRC_WriteStrClient( Client, ERR_NOSUCHNICK_MSG, Client_ID( Client ), Req->argv[Req->argc - 1] );
+ c = Client_Search(Req->argv[Req->argc - 1]);
+ if (!c || (Client_Type(c) != CLIENT_USER
+ && Client_Type(c) != CLIENT_SERVICE))
+ return IRC_WriteStrClient(Client, ERR_NOSUCHNICK_MSG,
+ Client_ID(Client),
+ Req->argv[Req->argc - 1]);
/* Search sender of the WHOIS */
if( Client_Type( Client ) == CLIENT_SERVER ) from = Client_Search( Req->prefix );