diff options
-rw-r--r-- | irc_channel.c | 4 | ||||
-rw-r--r-- | irc_commands.c | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/irc_channel.c b/irc_channel.c index 2c6601d2..528d0442 100644 --- a/irc_channel.c +++ b/irc_channel.c @@ -127,11 +127,7 @@ int irc_channel_del_user( irc_channel_t *ic, irc_user_t *iu ) irc_send_part( ic, iu, "" ); if( iu == ic->irc->user ) - { ic->flags &= ~IRC_CHANNEL_JOINED; - if( ic->f->part ) - ic->f->part( ic, NULL ); - } return 1; } diff --git a/irc_commands.c b/irc_commands.c index f56f45a0..e6954071 100644 --- a/irc_commands.c +++ b/irc_commands.c @@ -168,7 +168,12 @@ static void irc_cmd_part( irc_t *irc, char **cmd ) { irc_send_num( irc, 403, "%s :No such channel", cmd[1] ); } - else if( !irc_channel_del_user( ic, irc->user ) ) + else if( irc_channel_del_user( ic, irc->user ) ) + { + if( ic->f->part ) + ic->f->part( ic, NULL ); + } + else { irc_send_num( irc, 442, "%s :You're not on that channel", cmd[1] ); } |