aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_kicknorejoin.cpp
diff options
context:
space:
mode:
authorGravatar Peter Powell2018-12-12 20:34:46 +0000
committerGravatar Peter Powell2018-12-12 21:43:24 +0000
commit0f7cfd46ef2d277f5f82e34a2852c75212d75261 (patch)
tree73445b54ad2ce50ae75999ec9f939ff1097b057a /src/modules/m_kicknorejoin.cpp
parentFix not rejecting invalid durations in DCCALLOW. (diff)
Fix conversion issues by replacing ConvToInt with ConvToNum<T>.
The former was a thin wrapper around atol and brought with it all of the weird parsing logic of atol which is almost never what is actually wanted. It also almost never returned the numeric type which is actually wanted which can cause weird issues when casting.
Diffstat (limited to 'src/modules/m_kicknorejoin.cpp')
-rw-r--r--src/modules/m_kicknorejoin.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/m_kicknorejoin.cpp b/src/modules/m_kicknorejoin.cpp
index 4d911e78b..70f3578b2 100644
--- a/src/modules/m_kicknorejoin.cpp
+++ b/src/modules/m_kicknorejoin.cpp
@@ -101,14 +101,14 @@ class KickRejoin : public ParamMode<KickRejoin, SimpleExtItem<KickRejoinData> >
ModeAction OnSet(User* source, Channel* channel, std::string& parameter) CXX11_OVERRIDE
{
- int v = ConvToInt(parameter);
+ unsigned int v = ConvToNum<unsigned int>(parameter);
if (v <= 0)
{
source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter));
return MODEACTION_DENY;
}
- if ((IS_LOCAL(source) && ((unsigned int)v > max)))
+ if (IS_LOCAL(source) && v > max)
v = max;
ext.set(channel, new KickRejoinData(v));