2 # Parent 265f4dce6df1a1fb3f28d4e9a2724fe27aeeaf8e
4 diff -r 265f4dce6df1 ircd/m_kick.c
5 --- a/ircd/m_kick.c Fri Jul 19 22:37:47 2013 +0100
6 +++ b/ircd/m_kick.c Fri Jul 19 22:41:00 2013 +0100
10 /* We go ahead and pass on the KICK for users not on the channel */
11 - member = find_member_link(chptr, who);
12 - if (member && IsZombie(member))
14 - /* We might get a KICK from a zombie's own server because the user
15 - * net-rode during a burst (which always generates a KICK) *and*
16 - * was kicked via another server. In that case, we must remove
17 - * the user from the channel.
19 - if (sptr == cli_user(who)->server)
21 - remove_user_from_channel(who, chptr);
22 + if (!(member = find_member_link(chptr, who)) || IsZombie(member)) {
24 + make_zombie(member, who, cptr, sptr, chptr);
27 - /* Otherwise, we treat zombies like they are not channel members. */
31 /* Send HACK notice, but not for servers in BURST */