X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=ircd%2Fchannel.c;h=1ca8519486edcb0a135583718df110e91a2a78fb;hp=fd48bde4b2af4422ff81423b2e86d42f40879f11;hb=3ac5cd4cb4a909e5965fb5a0f534559a8204f48e;hpb=677a95832a75c65f39207bb92fce9ed42abf21d6 diff --git a/ircd/channel.c b/ircd/channel.c index fd48bde..1ca8519 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -2727,6 +2727,16 @@ mode_parse_noflood(struct ParseState *state, ulong64 *flag_p) noflood_value <<= 3; noflood_value |= flags; state->chptr->mode.noflood_value = noflood_value; + } else { + //removed the mode so free all flood objects + struct Membership *member; + for(member = state->chptr->members; member; member = member->next_member) { + struct MemberFlood *floodnode; + for(floodnode = member->flood; floodnode; floodnode = floodnode->next_memberflood) {} //simply walk to the end + floodnode->next_memberflood = free_MemberFlood; + free_MemberFlood = floodnode; + member->flood = NULL; + } } }