- for (int t = 0; (t < pcnt) && (t < MAXPARAMETERS); t++)
- new_parameters[t] = parameters[t];
-
- new_parameters[splithere] = item.c_str();
-
- parameters[splithere] = item.c_str();
-
- /* Execute the command handler over and over. If someone pulls our user
- * record out from under us (e.g. if we /kill a comma sep list, and we're
- * in that list ourselves) abort if we're gone.
- */
- CommandObj->Handle(new_parameters,pcnt,user);
-
- dupes[item.c_str()] = true;
- }
- }
- /* By returning 1 we tell our caller that nothing is to be done,
- * as all the previous calls handled the data. This makes the parent
- * return without doing any processing.
- */
- return 1;
-}
-
-bool CommandParser::IsValidCommand(const std::string &commandname, int pcnt, User * user)
-{
- Commandable::iterator n = cmdlist.find(commandname);
-
- if (n != cmdlist.end())
- {
- if ((pcnt>=n->second->min_params) && (n->second->source != "<core>"))
- {
- if (IS_LOCAL(user) && n->second->flags_needed)