]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
YOU KNOW I REALLY HATE IT WHEN CLIENT AUTHORS JUST MAKE ASSUMPTIONS ON THINGS LIKE...
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 28 Aug 2006 17:55:16 +0000 (17:55 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 28 Aug 2006 17:55:16 +0000 (17:55 +0000)
So tell me, zed, where the FUCK does it say that? huh?!

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5051 e03df62e-2008-0410-955e-edbf42e46eb7

src/channels.cpp

index 345ec79dd3a6264e77898663d57bd78eeca6c5f0..780251f5f9c34bcb756a5275ffde9f48bc757d01 100644 (file)
@@ -921,12 +921,20 @@ const char* chanrec::GetAllPrefixChars(userrec* user)
        int ctr = 0;
        *prefix = 0;
 
+       /* Cheat and always put the highest first.
+        * This fixes a NASTY ass-umption in xchat.
+        */
+       const char* first = this->GetPrefixChar(user);
+       if (*first)
+               prefix[ctr++] = *first;
+
        prefixlist::iterator n = prefixes.find(user);
        if (n != prefixes.end())
        {
                for (std::vector<prefixtype>::iterator x = n->second.begin(); x != n->second.end(); x++)
                {
-                       prefix[ctr++] = x->first;
+                       if (x->first != *first)
+                               prefix[ctr++] = x->first;
                }
        }