]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanhistory.cpp
Add ConfigTag::getUInt for reading unsigned config values.
[user/henk/code/inspircd.git] / src / modules / m_chanhistory.cpp
index 4d74b65e00a4bfbefb54523adfa099115d915ab7..0817311260e7a990f53c1562bff6bcb967133e57 100644 (file)
@@ -63,18 +63,25 @@ class HistoryMode : public ParamMode<HistoryMode, SimpleExtItem<HistoryList> >
        {
                std::string::size_type colon = parameter.find(':');
                if (colon == std::string::npos)
+               {
+                       source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter));
                        return MODEACTION_DENY;
+               }
 
                std::string duration(parameter, colon+1);
                if ((IS_LOCAL(source)) && ((duration.length() > 10) || (!IsValidDuration(duration))))
+               {
+                       source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter));
                        return MODEACTION_DENY;
+               }
 
                unsigned int len = ConvToInt(parameter.substr(0, colon));
                unsigned int time = InspIRCd::Duration(duration);
-               if (len == 0)
-                       return MODEACTION_DENY;
-               if (len > maxlines && IS_LOCAL(source))
+               if (len == 0 || (len > maxlines && IS_LOCAL(source)))
+               {
+                       source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter));
                        return MODEACTION_DENY;
+               }
                if (len > maxlines)
                        len = maxlines;
 
@@ -116,7 +123,7 @@ class ModuleChanHistory : public Module
        void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
                ConfigTag* tag = ServerInstance->Config->ConfValue("chanhistory");
-               m.maxlines = tag->getInt("maxlines", 50, 1);
+               m.maxlines = tag->getUInt("maxlines", 50, 1);
                sendnotice = tag->getBool("notice", true);
                dobots = tag->getBool("bots", true);
        }