diff options
| author | 2012-08-08 14:07:09 +0200 | |
|---|---|---|
| committer | 2012-08-08 14:12:03 +0200 | |
| commit | fae560cddc389b88c9cd34afdccf9035f4d11c5b (patch) | |
| tree | f145aa8da94d30ac210863aa04b584f076d73b13 /src/modules/m_messageflood.cpp | |
| parent | m_messageflood Make code more readable (diff) | |
| download | inspircd++-fae560cddc389b88c9cd34afdccf9035f4d11c5b.tar.gz inspircd++-fae560cddc389b88c9cd34afdccf9035f4d11c5b.tar.bz2 inspircd++-fae560cddc389b88c9cd34afdccf9035f4d11c5b.zip | |
m_messageflood Unset +f when the module is unloaded
Diffstat (limited to 'src/modules/m_messageflood.cpp')
| -rw-r--r-- | src/modules/m_messageflood.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index e0b30163c..ff92fcaa3 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -75,8 +75,6 @@ class MsgFlood : public ModeHandler 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(':'); @@ -97,6 +95,7 @@ class MsgFlood : public ModeHandler 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; @@ -108,15 +107,13 @@ class MsgFlood : public ModeHandler } 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; + } } }; |
