repo: ngircd action: commit revision: path_from: revision_from: 3283d275ba26c470d131ce0b6f66ee54a00bfd1c: path_to: revision_to:
commit 3283d275ba26c470d131ce0b6f66ee54a00bfd1c Author: Florian WestphalDate: Sun May 4 15:07:21 2008 +0200 Invite: Send RPL_AWAY to client sending the invite if target is away. diff --git a/src/ngircd/irc-op.c b/src/ngircd/irc-op.c
--- a/src/ngircd/irc-op.c
+++ b/src/ngircd/irc-op.c
@@ -125,8 +125,14 @@ IRC_INVITE(CLIENT *Client, REQUEST *Req)
if (Client_Conn(target) > NONE) {
/* The target user is local, so we have to send the status code */
- if (!IRC_WriteStrClientPrefix(from, target, RPL_INVITING_MSG, Client_ID(from), Req->argv[0], Req->argv[1]))
+ if (!IRC_WriteStrClientPrefix(from, target, RPL_INVITING_MSG,
+ Client_ID(from), Req->argv[0], Req->argv[1]))
return DISCONNECTED;
+
+ if (strchr(Client_Modes(target), 'a') &&
+ !IRC_WriteStrClient(from, RPL_AWAY_MSG, Client_ID(from),
+ Client_ID(target), Client_Away(target)))
+ return DISCONNECTED;
}
return CONNECTED;
} /* IRC_INVITE */
-----END OF PAGE-----