diff options
author | unknown <pesco@khjk.org> | 2011-10-01 16:55:24 +0200 |
---|---|---|
committer | unknown <pesco@khjk.org> | 2011-10-01 16:55:24 +0200 |
commit | fb11647a0dc92198488c709e0444c2aacbf15505 (patch) | |
tree | 7a825201123249101e0089eb6157c9d94b564451 /irc_im.c | |
parent | da44b08376a65c1a7f79776ae4ecf71d47596174 (diff) |
factor making a message appear from a specific nick out of bee_irc_user_msg
Diffstat (limited to 'irc_im.c')
-rw-r--r-- | irc_im.c | 35 |
1 files changed, 21 insertions, 14 deletions
@@ -192,16 +192,14 @@ void bee_irc_channel_update( irc_t *irc, irc_channel_t *ic, irc_user_t *iu ) } } -static gboolean bee_irc_user_msg( bee_t *bee, bee_user_t *bu, const char *msg_, time_t sent_at ) +void bee_irc_msg_from_user( irc_user_t *iu, const char *msg, time_t sent_at ) { - irc_t *irc = bee->ui_data; - irc_user_t *iu = (irc_user_t *) bu->ui_data; + irc_t *irc = iu->irc; + bee_t *bee = irc->b; + irc_channel_t *ic = NULL; char *dst, *prefix = NULL; char *wrapped, *ts = NULL; - irc_channel_t *ic = NULL; - char *msg = g_strdup( msg_ ); - GSList *l; - + if( sent_at > 0 && set_getbool( &irc->b->set, "display_timestamps" ) ) ts = irc_format_timestamp( irc, sent_at ); @@ -226,6 +224,20 @@ static gboolean bee_irc_user_msg( bee_t *bee, bee_user_t *bu, const char *msg_, ts = NULL; } + wrapped = word_wrap( msg, 425 ); + irc_send_msg( iu, "PRIVMSG", dst, wrapped, prefix ); + + g_free( wrapped ); + g_free( prefix ); + g_free( ts ); +} + +static gboolean bee_irc_user_msg( bee_t *bee, bee_user_t *bu, const char *msg_, time_t sent_at ) +{ + irc_user_t *iu = (irc_user_t *) bu->ui_data; + char *msg = g_strdup( msg_ ); + GSList *l; + for( l = irc_plugins; l; l = l->next ) { irc_plugin_t *p = l->data; @@ -255,14 +267,9 @@ static gboolean bee_irc_user_msg( bee_t *bee, bee_user_t *bu, const char *msg_, msg = s; } - wrapped = word_wrap( msg, 425 ); - irc_send_msg( iu, "PRIVMSG", dst, wrapped, prefix ); - - g_free( wrapped ); - g_free( prefix ); + bee_irc_msg_from_user( iu, msg, sent_at ); + g_free( msg ); - g_free( ts ); - return TRUE; } |