]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/uid.cpp
Fix various rline bugs, implement /stats R, and fix the issue where you get no error...
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / uid.cpp
index b0f5df21db7b8fbb38b595974720c8c6b27a7d11..14c4e2bb59077c4037d637360b73d0c1b7ef248b 100644 (file)
@@ -114,6 +114,9 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
        unsigned int paramptr = 9;
        for (std::string::iterator v = params[8].begin(); v != params[8].end(); v++)
        {
+               if (*v == '+')
+                       continue;
+
                /* For each mode thats set, increase counter */
                ModeHandler* mh = Instance->Modes->FindMode(*v, MODETYPE_USER);
 
@@ -138,7 +141,8 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
        //_new->ProcessNoticeMasks(params[7].c_str());
 
        /* now we've done with modes processing, put the + back for remote servers */
-       params[8] = "+" + params[8];
+       if (params[8][0] != '+')
+               params[8] = "+" + params[8];
 
 #ifdef SUPPORT_IP6LINKS
        if (params[6].find_first_of(":") != std::string::npos)