mirror of
https://github.com/osmarks/ngircd.git
synced 2025-11-14 12:37:10 +00:00
IRC_LIST(): Code cleanup
This commit is contained in:
@@ -592,9 +592,9 @@ IRC_TOPIC( CLIENT *Client, REQUEST *Req )
|
||||
* This implementation handles the local case as well as the forwarding of the
|
||||
* LIST command to other servers in the IRC network.
|
||||
*
|
||||
* @param Client The client from which this command has been received
|
||||
* @param Req Request structure with prefix and all parameters
|
||||
* @returns CONNECTED or DISCONNECTED
|
||||
* @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_LIST( CLIENT *Client, REQUEST *Req )
|
||||
@@ -626,36 +626,32 @@ IRC_LIST( CLIENT *Client, REQUEST *Req )
|
||||
return IRC_WriteStrClient(Client, ERR_NOSUCHSERVER_MSG,
|
||||
Client_ID(Client), Req->prefix);
|
||||
|
||||
if( Req->argc == 2 )
|
||||
{
|
||||
if (Req->argc == 2) {
|
||||
/* Forward to other server? */
|
||||
target = Client_Search(Req->argv[1]);
|
||||
if(( ! target ) || ( Client_Type( target ) != CLIENT_SERVER ))
|
||||
if (! target || Client_Type(target) != CLIENT_SERVER)
|
||||
return IRC_WriteStrClient(from, ERR_NOSUCHSERVER_MSG,
|
||||
Client_ID( Client ), Req->argv[1] );
|
||||
Client_ID(Client),
|
||||
Req->argv[1]);
|
||||
|
||||
if( target != Client_ThisServer( ))
|
||||
{
|
||||
if (target != Client_ThisServer()) {
|
||||
/* Target is indeed an other server, forward it! */
|
||||
return IRC_WriteStrClientPrefix(target, from,
|
||||
"LIST %s :%s", Client_ID( from ),
|
||||
"LIST %s :%s",
|
||||
Client_ID(from),
|
||||
Req->argv[1]);
|
||||
}
|
||||
}
|
||||
|
||||
while( pattern )
|
||||
{
|
||||
while (pattern) {
|
||||
/* Loop through all the channels */
|
||||
chan = Channel_First();
|
||||
while( chan )
|
||||
{
|
||||
while (chan) {
|
||||
/* Check search pattern */
|
||||
if( Match( pattern, Channel_Name( chan )))
|
||||
{
|
||||
if (Match(pattern, Channel_Name(chan))) {
|
||||
/* Gotcha! */
|
||||
if( ! strchr( Channel_Modes( chan ), 's' ) ||
|
||||
Channel_IsMemberOf( chan, from ))
|
||||
{
|
||||
if (!strchr(Channel_Modes(chan), 's')
|
||||
|| Channel_IsMemberOf(chan, from)) {
|
||||
if (!IRC_WriteStrClient(from,
|
||||
RPL_LIST_MSG, Client_ID(from),
|
||||
Channel_Name(chan),
|
||||
|
||||
Reference in New Issue
Block a user