ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
{
- floodsettings *f = ext.get(channel);
-
if (adding)
{
std::string::size_type colon = parameter.find(':');
return MODEACTION_DENY;
}
+ floodsettings* f = ext.get(channel);
if ((f) && (nlines == f->lines) && (nsecs == f->secs) && (ban == f->ban))
// mode params match
return MODEACTION_DENY;
}
else
{
- if (f)
- {
- ext.unset(channel);
- channel->SetModeParam('f', "");
- return MODEACTION_ALLOW;
- }
- }
+ if (!channel->IsModeSet('f'))
+ return MODEACTION_DENY;
- return MODEACTION_DENY;
+ ext.unset(channel);
+ channel->SetModeParam('f', "");
+ return MODEACTION_ALLOW;
+ }
}
};