diff options
| author | 2018-12-12 20:34:46 +0000 | |
|---|---|---|
| committer | 2018-12-12 21:43:24 +0000 | |
| commit | 0f7cfd46ef2d277f5f82e34a2852c75212d75261 (patch) | |
| tree | 73445b54ad2ce50ae75999ec9f939ff1097b057a /src/modules/m_kicknorejoin.cpp | |
| parent | Fix 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.cpp | 4 |
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)); |
