diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2005-11-17 15:37:59 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2005-11-17 15:37:59 +0100 |
commit | 834ff442d1b413fb4eaabcf03bbf6ab78eafdc1e (patch) | |
tree | 39049846427501a40f8262e5e52e99d5fedc6757 /irc.c | |
parent | 685c4efc166b58f21e9782160879a540d00a9641 (diff) |
Closing #14: Milisecond precision is now possible for the buddy_sendbuffer.
Diffstat (limited to 'irc.c')
-rw-r--r-- | irc.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -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 ); } |