* Sending IRC commands over the network
*/
-#include "imp.h"
#include <assert.h>
#ifdef PROTOTYPES
# include <stdarg.h>
#include "conn-func.h"
#include "channel.h"
-#include "exp.h"
#include "irc-write.h"
#define SEND_TO_USER 1
#else
va_start(ap);
#endif
- vsnprintf(buffer, 1000, Format, ap);
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end(ap);
IRC_SetPenalty(Client, 2);
#else
va_start(ap);
#endif
- vsnprintf(buffer, 1000, Format, ap);
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end(ap);
return IRC_WriteStrClientPrefix(Client, Client_ThisServer(),
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
return Conn_WriteStr(Client_Conn(Client_NextHop(Client)), ":%s %s",
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
IRC_WriteStrChannelPrefix(Client, Chan, Client_ThisServer(),
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
Conn_ClearFlags( );
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
IRC_WriteStrServersPrefix(ExceptOf, Client_ThisServer(), "%s", buffer);
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
IRC_WriteStrServersPrefixFlag( ExceptOf, Prefix, '\0', "%s", buffer );
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
IRC_WriteStrServersPrefixFlag_CB(ExceptOf, Prefix, Flag,
#else
va_start( ap );
#endif
- vsnprintf( buffer, 1000, Format, ap );
+ vsnprintf(buffer, sizeof(buffer), Format, ap);
va_end( ap );
Conn_ClearFlags( );
#else
va_start(ap);
#endif
- vsnprintf(msg, 1000, Format, ap);
+ vsnprintf(msg, sizeof(msg), Format, ap);
va_end(ap);
for (to=Client_First(); to != NULL; to=Client_Next(to)) {
/**
* Set a "penalty time" for an IRC client.
*
- * Note: penalty times are never set for server links!
+ * Note: penalty times are never set for server links or remote clients!
*
* @param Client The client.
* @param Seconds The additional "penalty time" to enforce.
*/
GLOBAL void
-IRC_SetPenalty( CLIENT *Client, time_t Seconds )
+IRC_SetPenalty(CLIENT *Client, time_t Seconds)
{
CONN_ID c;
- assert( Client != NULL );
- assert( Seconds > 0 );
+ assert(Client != NULL);
+ assert(Seconds > 0);
+
+ if (Client_Type(Client) == CLIENT_SERVER)
+ return;
- if( Client_Type( Client ) == CLIENT_SERVER ) return;
+ c = Client_Conn(Client);
+ if (c <= NONE)
+ return;
- c = Client_Conn( Client );
- if (c > NONE)
- Conn_SetPenalty(c, Seconds);
+ Conn_SetPenalty(c, Seconds);
} /* IRC_SetPenalty */
static const char *