Implement +I (private channel list on whois)
Implements enhancement requested in issue #179
This commit is contained in:
parent
c5da483685
commit
21767c968d
|
@ -177,7 +177,7 @@
|
|||
#endif
|
||||
|
||||
/** Supported user modes. */
|
||||
#define USERMODES "abBcCFioqrRswx"
|
||||
#define USERMODES "abBcCFiIoqrRswx"
|
||||
|
||||
/** Supported channel modes. */
|
||||
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
|
||||
|
|
|
@ -313,7 +313,8 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
|
|||
Client_Info(Client_Introducer(c))))
|
||||
return DISCONNECTED;
|
||||
|
||||
/* Channels */
|
||||
/* Channels, show only if client has no +I or if from is oper */
|
||||
if(!(Client_HasMode(c, 'I')) || Client_HasMode(from, 'o')) {
|
||||
snprintf(str, sizeof(str), RPL_WHOISCHANNELS_MSG,
|
||||
Client_ID(from), Client_ID(c));
|
||||
cl2chan = Channel_FirstChannelOf(c);
|
||||
|
@ -355,6 +356,7 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
|
|||
if (!IRC_WriteStrClient(Client, "%s", str))
|
||||
return DISCONNECTED;
|
||||
}
|
||||
}
|
||||
|
||||
/* IRC-Services? */
|
||||
if (Client_Type(c) == CLIENT_SERVICE &&
|
||||
|
|
|
@ -206,6 +206,7 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
|
|||
case 'b': /* Block private msgs */
|
||||
case 'C': /* Only messages from clients sharing a channel */
|
||||
case 'i': /* Invisible */
|
||||
case 'I': /* Hide channel list from WHOIS */
|
||||
case 's': /* Server messages */
|
||||
case 'w': /* Wallops messages */
|
||||
x[0] = *mode_ptr;
|
||||
|
|
Loading…
Reference in New Issue