aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2005-11-18 20:10:20 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2005-11-18 20:10:20 +0100
commit22d41a26f53527adacc5b314fcdaea0c46a7723d (patch)
treeb4c08cf9ab6978abc4e62905e5ba8485db9da355 /irc.c
parent517ecc45fde83e3b13352fbff5eaa8755296dc7c (diff)
Quit messages should appear again, at least on crashes. (And when running in inetd mode.)
The logging system needs some more work to complete this, maybe.
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/irc.c b/irc.c
index a716fe9e..60fe77f8 100644
--- a/irc.c
+++ b/irc.c
@@ -930,19 +930,31 @@ void irc_vawrite( irc_t *irc, char *format, va_list params )
return;
}
-void irc_write_all( char *format, ... )
+void irc_write_all( int now, char *format, ... )
{
va_list params;
GSList *temp;
-
+
va_start( params, format );
-
+
temp = irc_connection_list;
- while( temp!=NULL ) {
+ while( temp != NULL )
+ {
+ irc_t *irc = temp->data;
+
+ if( now )
+ {
+ g_free( irc->sendbuffer );
+ irc->sendbuffer = g_strdup( "\r\n" );
+ }
irc_vawrite( temp->data, format, params );
+ if( now )
+ {
+ bitlbee_io_current_client_write( irc->io_channel, G_IO_OUT, irc );
+ }
temp = temp->next;
}
-
+
va_end( params );
return;
}