]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanhistory.cpp
Move OnSync{Channel,Network,User} to ServerEventListener.
[user/henk/code/inspircd.git] / src / modules / m_chanhistory.cpp
index f6e7ea40e6071a100203c576e880a744594e1f39..4ed1ae6ae7be2bad35f69c353b2e7de079b10983 100644 (file)
@@ -59,19 +59,19 @@ class HistoryMode : public ParamMode<HistoryMode, SimpleExtItem<HistoryList> >
        {
        }
 
-       ModeAction OnSet(User* source, Channel* channel, std::string& parameter)
+       ModeAction OnSet(User* source, Channel* channel, std::string& parameter) CXX11_OVERRIDE
        {
                std::string::size_type colon = parameter.find(':');
                if (colon == std::string::npos)
                        return MODEACTION_DENY;
 
-               std::string duration = parameter.substr(colon+1);
+               std::string duration(parameter, colon+1);
                if ((IS_LOCAL(source)) && ((duration.length() > 10) || (!IsValidDuration(duration))))
                        return MODEACTION_DENY;
 
                unsigned int len = ConvToInt(parameter.substr(0, colon));
-               int time = InspIRCd::Duration(duration);
-               if (len == 0 || time < 0)
+               unsigned int time = InspIRCd::Duration(duration);
+               if (len == 0 || time == 0)
                        return MODEACTION_DENY;
                if (len > maxlines && IS_LOCAL(source))
                        return MODEACTION_DENY;