]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/channels.cpp
Fix for parameters which contain a colon (which is not the first char in the string)
[user/henk/code/inspircd.git] / src / channels.cpp
index 345ec79dd3a6264e77898663d57bd78eeca6c5f0..f340e12bf1528b4edf9a75cc3ddb8aeff0e72129 100644 (file)
 
 using namespace std;
 
-#include <string>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
 #include <stdarg.h>
 #include "configreader.h"
 #include "inspircd.h"
-#include "hash_map.h"
 #include "users.h"
-#include "ctables.h"
-#include "globals.h"
 #include "modules.h"
-#include "dynamic.h"
-#include "commands.h"
 #include "wildcard.h"
 #include "mode.h"
-#include "xline.h"
-#include "inspstring.h"
-
-#include "typedefs.h"
 
 chanrec::chanrec(InspIRCd* Instance) : ServerInstance(Instance)
 {
@@ -993,6 +979,11 @@ int chanrec::GetStatus(userrec *user)
        return STATUS_NORMAL;
 }
 
+/*bool ModeParser::PrefixComparison(const prefixtype one, const prefixtype two)
+{       
+        return one.second > two.second;
+}*/
+
 void chanrec::SetPrefix(userrec* user, char prefix, unsigned int prefix_value, bool adding)
 {
        prefixlist::iterator n = prefixes.find(user);
@@ -1004,6 +995,7 @@ void chanrec::SetPrefix(userrec* user, char prefix, unsigned int prefix_value, b
                        if (std::find(n->second.begin(), n->second.end(), pfx) == n->second.end())
                        {
                                n->second.push_back(pfx);
+                               std::sort(n->second.begin(), n->second.end(), ModeParser::PrefixComparison);
                        }
                }
                else