From 74f1cdef999356e40e3fa3b6a2d89876b6c0c303 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sat, 27 Mar 2010 14:05:38 -0400 Subject: irc_usermsg() works a little bit again. Have to figure out how and where to restore multiline support though. --- irc_send.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'irc_send.c') diff --git a/irc_send.c b/irc_send.c index 23298ef4..e93b2b6f 100644 --- a/irc_send.c +++ b/irc_send.c @@ -108,18 +108,33 @@ void irc_send_motd( irc_t *irc ) } } -/* FIXME/REPLACEME */ void irc_usermsg( irc_t *irc, char *format, ... ) { + irc_channel_t *ic; + irc_user_t *iu; char text[1024]; va_list params; - //irc_user_t *iu; va_start( params, format ); g_vsnprintf( text, sizeof( text ), format, params ); va_end( params ); - fprintf( stderr, "%s\n", text ); + if( irc->last_root_cmd && + irc_channel_name_ok( irc->last_root_cmd ) && + ( ic = irc_channel_by_name( irc, irc->last_root_cmd ) ) && + ic->flags & IRC_CHANNEL_JOINED ) + irc_send_msg( irc->root, "PRIVMSG", irc->last_root_cmd, text ); + else if( irc->last_root_cmd && + ( iu = irc_user_by_name( irc, irc->last_root_cmd ) ) && + iu->f == &irc_user_root_funcs ) + irc_send_msg( iu, "PRIVMSG", irc->user->nick, text ); + else + { + g_free( irc->last_root_cmd ); + irc->last_root_cmd = NULL; + + irc_send_msg( irc->root, "PRIVMSG", irc->user->nick, text ); + } /*return( irc_msgfrom( irc, u->nick, text ) );*/ } -- cgit v1.2.3