]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/command_parse.cpp
Note to self, cast time_t to long int for printf... thanks Ankit for pointing this...
[user/henk/code/inspircd.git] / src / command_parse.cpp
index f427b478c6fc027ad3f263b406c3541ba7c7125a..9ea7b020229569b13fd46358effdefbac880ebf1 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -69,10 +69,10 @@ int CommandParser::LoopCall(User* user, Command* CommandObj, const std::vector<s
                return 0;
 
        /** Some lame ircds will weed out dupes using some shitty O(n^2) algorithm.
-        * By using std::map (thanks for the idea w00t) we can cut this down a ton.
+        * By using std::set (thanks for the idea w00t) we can cut this down a ton.
         * ...VOOODOOOO!
         */
-       std::map<irc::string, bool> dupes;
+       std::set<irc::string> dupes;
 
        /* Create two lists, one for channel names, one for keys
         */
@@ -103,7 +103,7 @@ int CommandParser::LoopCall(User* user, Command* CommandObj, const std::vector<s
 
                        CommandObj->Handle(new_parameters, user);
 
-                       dupes[item.c_str()] = true;
+                       dupes.insert(item.c_str());
                }
        }
        return 1;
@@ -120,7 +120,7 @@ int CommandParser::LoopCall(User* user, Command* CommandObj, const std::vector<s
        if (parameters[splithere].find(',') == std::string::npos)
                return 0;
 
-       std::map<irc::string, bool> dupes;
+       std::set<irc::string> dupes;
 
        /* Only one commasepstream here */
        irc::commasepstream items1(parameters[splithere]);
@@ -145,7 +145,7 @@ int CommandParser::LoopCall(User* user, Command* CommandObj, const std::vector<s
                        /* Execute the command handler. */
                        CommandObj->Handle(new_parameters, user);
 
-                       dupes[item.c_str()] = true;
+                       dupes.insert(item.c_str());
                }
        }
        /* By returning 1 we tell our caller that nothing is to be done,