]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_watch.cpp
Move message parsing to ProcessBuffer and fix edge cases in it.
[user/henk/code/inspircd.git] / src / modules / m_watch.cpp
index 7fa8ad8f48cc1f010dfa96be2bb4f6069255423b..82cdcb6f820fe19a012c8712bb833a1eb3ed9abe 100644 (file)
@@ -36,7 +36,8 @@ enum
        RPL_ENDOFWATCHLIST = 607,
        // RPL_CLEARWATCH = 608, // unused
        RPL_NOWISAWAY = 609,
-       ERR_TOOMANYWATCH = 512
+       ERR_TOOMANYWATCH = 512,
+       ERR_INVALIDWATCHNICK = 942
 };
 
 class CommandWatch : public SplitCommand
@@ -72,7 +73,7 @@ class CommandWatch : public SplitCommand
                }
                else if (result == IRCv3::Monitor::Manager::WR_INVALIDNICK)
                {
-                       user->WriteNumeric(942, nick, "Invalid nickname");
+                       user->WriteNumeric(ERR_INVALIDWATCHNICK, nick, "Invalid nickname");
                        return;
                }
                else if (result != IRCv3::Monitor::Manager::WR_OK)
@@ -134,7 +135,7 @@ class CommandWatch : public SplitCommand
                syntax = "[<C|L|S|l|+<nick1>|-<nick>>]";
        }
 
-       CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* user)
+       CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
        {
                if (parameters.empty())
                {
@@ -218,7 +219,7 @@ class ModuleWatch : public Module
        void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
                ConfigTag* tag = ServerInstance->Config->ConfValue("watch");
-               cmd.maxwatch = tag->getInt("maxwatch", 30, 1);
+               cmd.maxwatch = tag->getUInt("maxwatch", 30, 1);
        }
 
        void OnPostConnect(User* user) CXX11_OVERRIDE