From a2e4eb5aafee30a3df32472454dedd2707ca1b2c Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Mon, 29 Aug 2005 10:58:00 +0000 Subject: [PATCH] Fixed server NOTICEs to users with "s" mode ("server messages"). --- ChangeLog | 3 ++- src/ngircd/log.c | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 33d87217..f1634ae3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,7 @@ ngIRCd CVSHEAD + - Fixed server NOTICEs to users with "s" mode ("server messages"). - Enhanced the handler for PING and PONG commands: fix forwarding and enable back-passing of a client supplied additional argument of PING. - Changed handling of timeouts for unregistered connections: don't reset @@ -636,4 +637,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.290 2005/08/28 11:40:13 alex Exp $ +$Id: ChangeLog,v 1.291 2005/08/29 10:58:00 alex Exp $ diff --git a/src/ngircd/log.c b/src/ngircd/log.c index e00c7ce7..a29c4015 100644 --- a/src/ngircd/log.c +++ b/src/ngircd/log.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2005 Alexander Barton (alex@barton.de) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: log.c,v 1.58 2005/07/31 20:13:08 alex Exp $"; +static char UNUSED id[] = "$Id: log.c,v 1.59 2005/08/29 10:58:00 alex Exp $"; #include "imp.h" #include @@ -302,19 +302,23 @@ va_dcl } /* Log_Resolver */ +/** + * Send log messages to users flagged with the "s" mode. + * @param Msg The message to send. + */ static void Wall_ServerNotice( char *Msg ) { - /* Server-Notice an entsprechende User verschicken */ - CLIENT *c; assert( Msg != NULL ); c = Client_First( ); - while( c ) - { - if(( Client_Conn( c ) > NONE ) && ( Client_HasMode( c, 's' ))) IRC_WriteStrClient( c, "NOTICE %s :%s%s", Client_ThisServer( ), NOTICE_TXTPREFIX, Msg ); + while(c) { + if (Client_Conn(c) > NONE && Client_HasMode(c, 's')) + IRC_WriteStrClient(c, "NOTICE %s :%s%s", Client_ID(c), + NOTICE_TXTPREFIX, Msg); + c = Client_Next( c ); } } /* Wall_ServerNotice */