diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-27 14:05:38 -0400 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-27 14:05:38 -0400 | 
| commit | 74f1cdef999356e40e3fa3b6a2d89876b6c0c303 (patch) | |
| tree | 2e8c30033bc9358dd5a0cc4c7ba68ecc9ad992d2 /irc_send.c | |
| parent | 280c56a7b24dc08b35a1ecd98c8f4b61435d1100 (diff) | |
irc_usermsg() works a little bit again. Have to figure out how and where
to restore multiline support though.
Diffstat (limited to 'irc_send.c')
| -rw-r--r-- | irc_send.c | 21 | 
1 files changed, 18 insertions, 3 deletions
| @@ -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 ) );*/  } | 
