X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Firc-write.c;h=dd592f0db54d11c297291a9f9462e2d8ad2fcd0b;hb=5462c6c50fd01fd516e29a42ee0b15c946c11d27;hp=dae78e582335fd6ab817b1d7f75da1a773706f72;hpb=eaaf0c3bd5ce4f48205ca928fba994d0c44e59b2;p=ngircd-alex.git diff --git a/src/ngircd/irc-write.c b/src/ngircd/irc-write.c index dae78e58..dd592f0d 100644 --- a/src/ngircd/irc-write.c +++ b/src/ngircd/irc-write.c @@ -26,7 +26,6 @@ #include "defines.h" #include "conn-func.h" -#include "client.h" #include "channel.h" #include "exp.h" @@ -37,19 +36,19 @@ #define SEND_TO_SERVER 2 -static char *Get_Prefix PARAMS((CLIENT *Target, CLIENT *Client)); +static const char *Get_Prefix PARAMS((CLIENT *Target, CLIENT *Client)); static void cb_writeStrServersPrefixFlag PARAMS((CLIENT *Client, CLIENT *Prefix, void *Buffer)); #ifdef PROTOTYPES GLOBAL bool -IRC_WriteStrClient( CLIENT *Client, char *Format, ... ) +IRC_WriteStrClient( CLIENT *Client, const char *Format, ... ) #else GLOBAL bool IRC_WriteStrClient( Client, Format, va_alist ) CLIENT *Client; -char *Format; +const char *Format; va_dcl #endif { @@ -77,13 +76,13 @@ va_dcl #ifdef PROTOTYPES GLOBAL bool -IRC_WriteStrClientPrefix( CLIENT *Client, CLIENT *Prefix, char *Format, ... ) +IRC_WriteStrClientPrefix(CLIENT *Client, CLIENT *Prefix, const char *Format, ...) #else GLOBAL bool -IRC_WriteStrClientPrefix( Client, Prefix, Format, va_alist ) +IRC_WriteStrClientPrefix(Client, Prefix, Format, va_alist) CLIENT *Client; CLIENT *Prefix; -char *Format; +const char *Format; va_dcl #endif { @@ -110,14 +109,15 @@ va_dcl #ifdef PROTOTYPES GLOBAL bool -IRC_WriteStrChannel( CLIENT *Client, CHANNEL *Chan, bool Remote, char *Format, ... ) +IRC_WriteStrChannel(CLIENT *Client, CHANNEL *Chan, bool Remote, + const char *Format, ...) #else GLOBAL bool -IRC_WriteStrChannel( Client, Chan, Remote, Format, va_alist ) +IRC_WriteStrChannel(Client, Chan, Remote, Format, va_alist) CLIENT *Client; CHANNEL *Chan; bool Remote; -char *Format; +const char *Format; va_dcl #endif { @@ -146,15 +146,16 @@ va_dcl */ #ifdef PROTOTYPES GLOBAL bool -IRC_WriteStrChannelPrefix( CLIENT *Client, CHANNEL *Chan, CLIENT *Prefix, bool Remote, char *Format, ... ) +IRC_WriteStrChannelPrefix(CLIENT *Client, CHANNEL *Chan, CLIENT *Prefix, + bool Remote, const char *Format, ...) #else GLOBAL bool -IRC_WriteStrChannelPrefix( Client, Chan, Prefix, Remote, Format, va_alist ) +IRC_WriteStrChannelPrefix(Client, Chan, Prefix, Remote, Format, va_alist) CLIENT *Client; CHANNEL *Chan; CLIENT *Prefix; bool Remote; -char *Format; +const char *Format; va_dcl #endif { @@ -218,12 +219,12 @@ va_dcl #ifdef PROTOTYPES GLOBAL void -IRC_WriteStrServers( CLIENT *ExceptOf, char *Format, ... ) +IRC_WriteStrServers(CLIENT *ExceptOf, const char *Format, ...) #else GLOBAL void -IRC_WriteStrServers( ExceptOf, Format, va_alist ) +IRC_WriteStrServers(ExceptOf, Format, va_alist) CLIENT *ExceptOf; -char *Format; +const char *Format; va_dcl #endif { @@ -246,13 +247,14 @@ va_dcl #ifdef PROTOTYPES GLOBAL void -IRC_WriteStrServersPrefix( CLIENT *ExceptOf, CLIENT *Prefix, char *Format, ... ) +IRC_WriteStrServersPrefix(CLIENT *ExceptOf, CLIENT *Prefix, + const char *Format, ...) #else GLOBAL void -IRC_WriteStrServersPrefix( ExceptOf, Prefix, Format, va_alist ) +IRC_WriteStrServersPrefix(ExceptOf, Prefix, Format, va_alist) CLIENT *ExceptOf; CLIENT *Prefix; -char *Format; +const char *Format; va_dcl #endif { @@ -276,14 +278,15 @@ va_dcl #ifdef PROTOTYPES GLOBAL void -IRC_WriteStrServersPrefixFlag( CLIENT *ExceptOf, CLIENT *Prefix, char Flag, char *Format, ... ) +IRC_WriteStrServersPrefixFlag(CLIENT *ExceptOf, CLIENT *Prefix, char Flag, + const char *Format, ...) #else GLOBAL void -IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, Flag, Format, va_alist ) +IRC_WriteStrServersPrefixFlag(ExceptOf, Prefix, Flag, Format, va_alist) CLIENT *ExceptOf; CLIENT *Prefix; char Flag; -char *Format; +const char *Format; va_dcl #endif { @@ -331,14 +334,15 @@ IRC_WriteStrServersPrefixFlag_CB(CLIENT *ExceptOf, CLIENT *Prefix, char Flag, */ #ifdef PROTOTYPES GLOBAL bool -IRC_WriteStrRelatedPrefix( CLIENT *Client, CLIENT *Prefix, bool Remote, char *Format, ... ) +IRC_WriteStrRelatedPrefix(CLIENT *Client, CLIENT *Prefix, bool Remote, + const char *Format, ...) #else GLOBAL bool -IRC_WriteStrRelatedPrefix( Client, Prefix, Remote, Format, va_alist ) +IRC_WriteStrRelatedPrefix(Client, Prefix, Remote, Format, va_alist) CLIENT *Client; CLIENT *Prefix; bool Remote; -char *Format; +const char *Format; va_dcl #endif { @@ -408,11 +412,30 @@ va_dcl /** * Send WALLOPS message. */ +#ifdef PROTOTYPES +GLOBAL void +IRC_SendWallops(CLIENT *Client, CLIENT *From, const char *Format, ...) +#else GLOBAL void -IRC_SendWallops(CLIENT *Client, CLIENT *From, const char *Message) +IRC_SendWallops(Client, From, Format, va_alist ) +CLIENT *Client; +CLIENT *From; +const char *Format; +va_dcl +#endif { + va_list ap; + char msg[1000]; CLIENT *to; +#ifdef PROTOTYPES + va_start(ap, Format); +#else + va_start(ap); +#endif + vsnprintf(msg, 1000, Format, ap); + va_end(ap); + for (to=Client_First(); to != NULL; to=Client_Next(to)) { if (Client_Conn(to) == NONE) /* no local connection */ continue; @@ -421,12 +444,12 @@ IRC_SendWallops(CLIENT *Client, CLIENT *From, const char *Message) case CLIENT_USER: if (Client_HasMode(to, 'w')) IRC_WriteStrClientPrefix(to, From, - "WALLOPS :%s", Message); + "WALLOPS :%s", msg); break; case CLIENT_SERVER: if (to != Client) IRC_WriteStrClientPrefix(to, From, - "WALLOPS :%s", Message); + "WALLOPS :%s", msg); break; } } @@ -449,7 +472,7 @@ IRC_SetPenalty( CLIENT *Client, time_t Seconds ) } /* IRC_SetPenalty */ -static char * +static const char * Get_Prefix( CLIENT *Target, CLIENT *Client ) { assert( Target != NULL );