* | 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
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
*/
CommandObj->Handle(new_parameters, user);
- dupes[item.c_str()] = true;
+ dupes.insert(item.c_str());
}
}
return 1;
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]);
/* 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,
command_p.push_back(token);
std::transform(command.begin(), command.end(), command.begin(), ::toupper);
-
+
/* find the command, check it exists */
Commandtable::iterator cm = cmdlist.find(command);
-
+
if (cm == cmdlist.end())
{
int MOD_RESULT = 0;
{
// BE CAREFUL: .end() returns past the end of the vector, hence decrement.
std::vector<std::string>::iterator it = --command_p.end();
-
+
lparam.insert(0, " " + *(it));
command_p.erase(it); // remove last element
}
return translations;
}
-
-