aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2005-11-17 15:37:59 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2005-11-17 15:37:59 +0100
commit834ff442d1b413fb4eaabcf03bbf6ab78eafdc1e (patch)
tree39049846427501a40f8262e5e52e99d5fedc6757 /irc.c
parent685c4efc166b58f21e9782160879a540d00a9641 (diff)
Closing #14: Milisecond precision is now possible for the buddy_sendbuffer.
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/irc.c b/irc.c
index 1ac277b3..c2199f57 100644
--- a/irc.c
+++ b/irc.c
@@ -114,7 +114,7 @@ irc_t *irc_new( int fd )
set_add( irc, "auto_reconnect", "false", set_eval_bool );
set_add( irc, "auto_reconnect_delay", "300", set_eval_int );
set_add( irc, "buddy_sendbuffer", "false", set_eval_bool );
- set_add( irc, "buddy_sendbuffer_delay", "1", set_eval_int );
+ set_add( irc, "buddy_sendbuffer_delay", "200", set_eval_int );
set_add( irc, "charset", "iso8859-1", set_eval_charset );
set_add( irc, "debug", "false", set_eval_bool );
set_add( irc, "default_target", "root", NULL );
@@ -1427,6 +1427,8 @@ int buddy_send_handler( irc_t *irc, user_t *u, char *msg, int flags )
if( set_getint( irc, "buddy_sendbuffer" ) && set_getint( irc, "buddy_sendbuffer_delay" ) > 0 )
{
+ int delay;
+
if( u->sendbuf_len > 0 && u->sendbuf_flags != flags)
{
//Flush the buffer
@@ -1450,10 +1452,13 @@ int buddy_send_handler( irc_t *irc, user_t *u, char *msg, int flags )
strcat( u->sendbuf, msg );
strcat( u->sendbuf, "\n" );
+ delay = set_getint( irc, "buddy_sendbuffer_delay" );
+ if( delay <= 5 )
+ delay *= 1000;
+
if( u->sendbuf_timer > 0 )
g_source_remove( u->sendbuf_timer );
- u->sendbuf_timer = g_timeout_add( set_getint( irc, "buddy_sendbuffer_delay" ) * 1000,
- buddy_send_handler_delayed, u );
+ u->sendbuf_timer = g_timeout_add( delay, buddy_send_handler_delayed, u );
return( 1 );
}