Fixed server NOTICEs to users with "s" mode ("server messages").

This commit is contained in:
Alexander Barton 2005-08-29 10:58:00 +00:00
parent 58b8fb5d12
commit a2e4eb5aaf
2 changed files with 13 additions and 8 deletions

View File

@ -12,6 +12,7 @@
ngIRCd CVSHEAD ngIRCd CVSHEAD
- Fixed server NOTICEs to users with "s" mode ("server messages").
- Enhanced the handler for PING and PONG commands: fix forwarding and enable - Enhanced the handler for PING and PONG commands: fix forwarding and enable
back-passing of a client supplied additional argument of PING. back-passing of a client supplied additional argument of PING.
- Changed handling of timeouts for unregistered connections: don't reset - 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 $

View File

@ -1,6 +1,6 @@
/* /*
* ngIRCd -- The Next Generation IRC Daemon * 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 * 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 * it under the terms of the GNU General Public License as published by
@ -14,7 +14,7 @@
#include "portab.h" #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 "imp.h"
#include <assert.h> #include <assert.h>
@ -302,19 +302,23 @@ va_dcl
} /* Log_Resolver */ } /* Log_Resolver */
/**
* Send log messages to users flagged with the "s" mode.
* @param Msg The message to send.
*/
static void static void
Wall_ServerNotice( char *Msg ) Wall_ServerNotice( char *Msg )
{ {
/* Server-Notice an entsprechende User verschicken */
CLIENT *c; CLIENT *c;
assert( Msg != NULL ); assert( Msg != NULL );
c = Client_First( ); c = Client_First( );
while( c ) while(c) {
{ if (Client_Conn(c) > NONE && Client_HasMode(c, 's'))
if(( Client_Conn( c ) > NONE ) && ( Client_HasMode( c, 's' ))) IRC_WriteStrClient( c, "NOTICE %s :%s%s", Client_ThisServer( ), NOTICE_TXTPREFIX, Msg ); IRC_WriteStrClient(c, "NOTICE %s :%s%s", Client_ID(c),
NOTICE_TXTPREFIX, Msg);
c = Client_Next( c ); c = Client_Next( c );
} }
} /* Wall_ServerNotice */ } /* Wall_ServerNotice */