diff options
Diffstat (limited to 'irc_im.c')
-rw-r--r-- | irc_im.c | 16 |
1 files changed, 2 insertions, 14 deletions
@@ -140,9 +140,7 @@ static gboolean bee_irc_user_status( bee_t *bee, bee_user_t *bu, bee_user_t *old void bee_irc_channel_update( irc_t *irc, irc_channel_t *ic, irc_user_t *iu ) { - struct irc_control_channel *icc; GSList *l; - gboolean match = FALSE; if( ic == NULL ) { @@ -167,23 +165,13 @@ void bee_irc_channel_update( irc_t *irc, irc_channel_t *ic, irc_user_t *iu ) return; } - icc = ic->data; - - if( icc->type == IRC_CC_TYPE_DEFAULT ) - match = TRUE; - else if( icc->type == IRC_CC_TYPE_GROUP ) - match = iu->bu->group == icc->group; - else if( icc->type == IRC_CC_TYPE_ACCOUNT ) - match = iu->bu->ic->acc == icc->account; - else if( icc->type == IRC_CC_TYPE_PROTOCOL ) - match = iu->bu->ic->acc->prpl == icc->protocol; - - if( !match ) + if( !irc_channel_wants_user( ic, iu ) ) { irc_channel_del_user( ic, iu, IRC_CDU_PART, NULL ); } else { + struct irc_control_channel *icc = ic->data; int mode = 0; if( !( iu->bu->flags & BEE_USER_ONLINE ) ) |