about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-02-27 18:57:21 +0000
committerAlexander Barton <alex@barton.de>2002-02-27 18:57:21 +0000
commit3c01ac4e33c8abc1e6808eaa3f7d020bbaa3ec17 (patch)
tree2b2e536f6f4b009b7da73c2babc8285e8badc705 /src
parent949977e8786aa804f3c6a64c07c34cc92375cf17 (diff)
downloadngircd-3c01ac4e33c8abc1e6808eaa3f7d020bbaa3ec17.tar.gz
ngircd-3c01ac4e33c8abc1e6808eaa3f7d020bbaa3ec17.zip
- PRIVMSG zeugt nun bei Texten an User an, wenn diese "away" sind.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/irc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index 7296f83f..bb781709 100644
--- a/src/ngircd/irc.c
+++ b/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 *Req )
 	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] );
 	}