Commit Diff


commit - faf9b6ea16029d11a6b577ec98a73466e5421f55
commit + 3283d275ba26c470d131ce0b6f66ee54a00bfd1c
blob - 94b11bebdc3bbb7f3c3bea5711878681cbd1da21
blob + bbedcf4caf9968a4ecfbc7a8291660741a73d02a
--- src/ngircd/irc-op.c
+++ 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 */