Commit Diff


commit - 949977e8786aa804f3c6a64c07c34cc92375cf17
commit + 3c01ac4e33c8abc1e6808eaa3f7d020bbaa3ec17
blob - 7296f83f1001ac7335f81705f00e37e7a53a9b2b
blob + bb781709087aa57ac1d636b2c67544769ba6a999
--- src/ngircd/irc.c
+++ src/ngircd/irc.c
@@ -9,11 +9,14 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: irc.c,v 1.78 2002/02/27 18:23:45 alex Exp $
+ * $Id: irc.c,v 1.79 2002/02/27 18:57:21 alex Exp $
  *
  * irc.c: IRC-Befehle
  *
  * $Log: irc.c,v $
+ * Revision 1.79  2002/02/27 18:57:21  alex
+ * - PRIVMSG zeugt nun bei Texten an User an, wenn diese "away" sind.
+ *
  * Revision 1.78  2002/02/27 18:23:45  alex
  * - IRC-Befehl "AWAY" implementert.
  *
@@ -1231,6 +1234,13 @@ GLOBAL BOOLEAN IRC_PRIVMSG( CLIENT *Client, REQUEST *R
 	if( cl )
 	{
 		/* Okay, Ziel ist ein User */
+		if(( Client_Type( Client ) != CLIENT_SERVER ) && ( strchr( Client_Modes( cl ), 'a' )))
+		{
+			/* Ziel-User ist AWAY: Meldung verschicken */
+			if( ! IRC_WriteStrClient( from, RPL_AWAY_MSG, Client_ID( from ), Client_ID( cl ), Client_Away( cl ))) return DISCONNECTED;
+		}
+
+		/* Text senden */
 		if( Client_Conn( from ) > NONE ) Conn_UpdateIdle( Client_Conn( from ));
 		return IRC_WriteStrClientPrefix( cl, from, "PRIVMSG %s :%s", Client_ID( cl ), Req->argv[1] );
 	}