]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/away.cpp
Add ConfigTag::getDuration() with optional bounds checking
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / away.cpp
index 3b6d44f0f2b6dcb5c610e6e9064ba57b4cbcd78d..ae60633bf50b351c12420f35dd27d98739f9ef2a 100644 (file)
 
 #include "main.h"
 #include "utils.h"
-#include "treeserver.h"
 #include "treesocket.h"
 
 bool TreeSocket::Away(const std::string &prefix, parameterlist &params)
 {
        User* u = ServerInstance->FindNick(prefix);
-       if (!u)
+       if ((!u) || (IS_SERVER(u)))
                return true;
        if (params.size())
        {
-               FOREACH_MOD(I_OnSetAway, OnSetAway(u, params[params.size() - 1]));
+               FOREACH_MOD(OnSetAway, (u, params[params.size() - 1]));
 
                if (params.size() > 1)
-                       u->awaytime = atoi(params[0].c_str());
+                       u->awaytime = ConvToInt(params[0]);
                else
                        u->awaytime = ServerInstance->Time();
 
@@ -44,7 +43,7 @@ bool TreeSocket::Away(const std::string &prefix, parameterlist &params)
        }
        else
        {
-               FOREACH_MOD(I_OnSetAway, OnSetAway(u, ""));
+               FOREACH_MOD(OnSetAway, (u, ""));
                u->awaymsg.clear();
        }
        Utils->DoOneToAllButSender(prefix,"AWAY",params,u->server);