diff options
Diffstat (limited to 'irc_send.c')
| -rw-r--r-- | irc_send.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| @@ -263,7 +263,7 @@ void irc_send_whois( irc_user_t *iu )  void irc_send_who( irc_t *irc, GSList *l, const char *channel )  { -	gboolean is_channel = strcmp( channel, "**" ) != 0; +	gboolean is_channel = strchr( CTYPES, channel[0] ) != NULL;  	while( l )  	{ @@ -272,7 +272,7 @@ void irc_send_who( irc_t *irc, GSList *l, const char *channel )  			iu = ((irc_channel_user_t*)iu)->iu;  		/* TODO(wilmer): Restore away/channel information here */  		irc_send_num( irc, 352, "%s %s %s %s %s %c :0 %s", -		              channel ? : "*", iu->user, iu->host, irc->root->host, +		              is_channel ? channel : "*", iu->user, iu->host, irc->root->host,  		              iu->nick, iu->flags & IRC_USER_AWAY ? 'G' : 'H',  		              iu->fullname );  		l = l->next; @@ -397,3 +397,11 @@ void irc_send_channel_user_mode_diff( irc_channel_t *ic, irc_user_t *iu,  	if( *changes )  		irc_write( ic->irc, ":%s MODE %s %s", from, ic->name, changes );  } + +void irc_send_invite( irc_user_t *iu, irc_channel_t *ic ) +{ +	irc_t *irc = iu->irc; +	 +	irc_write( iu->irc, ":%s!%s@%s INVITE %s :%s", +	           iu->nick, iu->user, iu->host, irc->user->nick, ic->name ); +} | 
