]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fixes and optimizations
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 25 Feb 2007 01:09:12 +0000 (01:09 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 25 Feb 2007 01:09:12 +0000 (01:09 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6612 e03df62e-2008-0410-955e-edbf42e46eb7

src/hashcomp.cpp

index f927fbc99e683d6f6963d46bf185899f55bdd31f..53483c7480f0322b078d7aed905648097b73b3ec 100644 (file)
@@ -350,21 +350,21 @@ int irc::modestacker::GetStackedLine(std::deque<std::string> &result, int max_li
        result.push_back(adding ? "+" : "-");
 
        if (sequence.size() > 1)
-               nextsize = sequence[1].length();
+               nextsize = sequence[1].length() + 2;
 
-       while (!sequence[0].empty() && (sequence.size() > 1) && (result.size() < MAXMODES+1) && ((size+nextsize) < max_line_size))
+       while (!sequence[0].empty() && (sequence.size() > 1) && (result.size() < MAXMODES+1) && ((size + nextsize) < max_line_size))
        {
                result[0] += *(sequence[0].begin());
                if (!sequence[1].empty())
                {
                        result.push_back(sequence[1]);
-                       size += sequence[1].length() + 2; /* Account for mode character and whitespace */
+                       size += nextsize; /* Account for mode character and whitespace */
                }
                sequence[0].erase(sequence[0].begin());
                sequence.erase(sequence.begin() + 1);
 
                if (sequence.size() > 1)
-                       nextsize = sequence[1].length();
+                       nextsize = sequence[1].length() + 2;
 
                n++;
        }