IRC_INVITE(): Code cleanup
This commit is contained in:
parent
6496fa4655
commit
384b27cee0
|
@ -170,7 +170,8 @@ IRC_INVITE(CLIENT *Client, REQUEST *Req)
|
||||||
|
|
||||||
/* Is the channel "invite-only"? */
|
/* Is the channel "invite-only"? */
|
||||||
if (Channel_HasMode(chan, 'i')) {
|
if (Channel_HasMode(chan, 'i')) {
|
||||||
/* Yes. The user must be channel owner/admin/operator/halfop! */
|
/* Yes. The user issuing the INVITE command must be
|
||||||
|
* channel owner/admin/operator/halfop! */
|
||||||
if (!Channel_UserHasMode(chan, from, 'q') &&
|
if (!Channel_UserHasMode(chan, from, 'q') &&
|
||||||
!Channel_UserHasMode(chan, from, 'a') &&
|
!Channel_UserHasMode(chan, from, 'a') &&
|
||||||
!Channel_UserHasMode(chan, from, 'o') &&
|
!Channel_UserHasMode(chan, from, 'o') &&
|
||||||
|
@ -204,11 +205,11 @@ IRC_INVITE(CLIENT *Client, REQUEST *Req)
|
||||||
Req->argv[0], Req->argv[1]);
|
Req->argv[0], Req->argv[1]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RFC 2812 says:
|
* RFC 2812 states:
|
||||||
* 'There is no requirement that the channel [..] must exist or be a valid channel'
|
* 'There is no requirement that the channel [..] must exist or be a
|
||||||
* The problem with this is that this allows the "channel" to contain spaces,
|
* valid channel'. The problem with this is that this allows the
|
||||||
* in which case we must prefix its name with a colon to make it clear that
|
* "channel" to contain spaces, in which case we must prefix its name
|
||||||
* it is only a single argument.
|
* with a colon to make it clear that it is only a single argument.
|
||||||
*/
|
*/
|
||||||
colon_if_necessary = strchr(Req->argv[1], ' ') ? ":":"";
|
colon_if_necessary = strchr(Req->argv[1], ' ') ? ":":"";
|
||||||
/* Inform target client */
|
/* Inform target client */
|
||||||
|
@ -218,7 +219,8 @@ IRC_INVITE(CLIENT *Client, REQUEST *Req)
|
||||||
if (Client_Conn(target) > NONE) {
|
if (Client_Conn(target) > NONE) {
|
||||||
/* The target user is local, so we have to send the status code */
|
/* The target user is local, so we have to send the status code */
|
||||||
if (!IRC_WriteStrClientPrefix(from, target, RPL_INVITING_MSG,
|
if (!IRC_WriteStrClientPrefix(from, target, RPL_INVITING_MSG,
|
||||||
Client_ID(from), Req->argv[0], colon_if_necessary, Req->argv[1]))
|
Client_ID(from), Req->argv[0],
|
||||||
|
colon_if_necessary, Req->argv[1]))
|
||||||
return DISCONNECTED;
|
return DISCONNECTED;
|
||||||
|
|
||||||
if (Client_HasMode(target, 'a') &&
|
if (Client_HasMode(target, 'a') &&
|
||||||
|
|
Loading…
Reference in New Issue