]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_watch.cpp
Allow the maximum length of a chanfilter message to be configured.
[user/henk/code/inspircd.git] / src / modules / m_watch.cpp
index 6e9a6f9ed716be97ee34dcf1953e8214bccce1f1..63e34220a4531a48d4910e08a09c65e7810f5224 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
@@ -53,9 +54,9 @@ class CommandWatch : public SplitCommand
                {
                        // The away state should only be sent if the client requests away notifications for a nick but 2.0 always sends them so we do that too
                        if (target->IsAway())
-                               user->WriteNumeric(RPL_NOWISAWAY, target->nick, target->ident, target->dhost, (unsigned long)target->awaytime, "is away");
+                               user->WriteNumeric(RPL_NOWISAWAY, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->awaytime, "is away");
                        else
-                               user->WriteNumeric(RPL_NOWON, target->nick, target->ident, target->dhost, (unsigned long)target->age, "is online");
+                               user->WriteNumeric(RPL_NOWON, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->age, "is online");
                }
                else if (show_offline)
                        user->WriteNumeric(RPL_NOWOFF, nick, "*", "*", "0", "is offline");
@@ -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)
@@ -88,7 +89,7 @@ class CommandWatch : public SplitCommand
 
                User* target = IRCv3::Monitor::Manager::FindNick(nick);
                if (target)
-                       user->WriteNumeric(RPL_WATCHOFF, target->nick, target->ident, target->dhost, (unsigned long)target->age, "stopped watching");
+                       user->WriteNumeric(RPL_WATCHOFF, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->age, "stopped watching");
                else
                        user->WriteNumeric(RPL_WATCHOFF, nick, "*", "*", "0", "stopped watching");
        }
@@ -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(const std::vector<std::string>& parameters, LocalUser* user) CXX11_OVERRIDE
        {
                if (parameters.empty())
                {
@@ -190,7 +191,7 @@ class ModuleWatch : public Module
                        return;
 
                Numeric::Numeric num(numeric);
-               num.push(nick).push(user->ident).push(user->dhost).push(ConvToStr(shownts)).push(numerictext);
+               num.push(nick).push(user->ident).push(user->GetDisplayedHost()).push(ConvToStr(shownts)).push(numerictext);
                for (IRCv3::Monitor::WatcherList::const_iterator i = list->begin(); i != list->end(); ++i)
                {
                        LocalUser* curr = *i;