/* Handle ERROR command */
-bool TreeSocket::Error(std::deque<std::string> ¶ms)
+bool TreeSocket::Error(parameterlist ¶ms)
{
if (params.size() < 1)
return false;
return false;
}
-void TreeSocket::Split(const std::string &line, std::deque<std::string> &n)
+void TreeSocket::Split(const std::string &line, parameterlist &n)
{
n.clear();
irc::tokenstream tokens(line);
bool TreeSocket::ProcessLine(std::string &line)
{
- std::deque<std::string> params;
+ parameterlist params;
irc::string command;
std::string prefix;
if ((params[0][0] == ':') && (params.size() > 1))
{
prefix = params[0].substr(1);
- params.pop_front();
if (prefix.empty())
{
this->SendError("BUG (?) Empty prefix recieved: " + line);
return false;
}
+ command = params[1].c_str();
+ params.erase(params.begin(), params.begin() + 2);
+ }
+ else
+ {
+ command = params[0].c_str();
+ params.erase(params.begin());
}
-
- command = params[0].c_str();
- params.pop_front();
switch (this->LinkState)
{
User* user = ServerInstance->FindNick(prefix);
if (user)
{
- std::vector<std::string> p(params.begin(), params.end());
- return Utils->Creator->HandleMap(p, user);
+ return Utils->Creator->HandleMap(params, user);
}
}
else if (command == "SERVER")
}
}
- // it's a user
- std::vector<std::string> strparams(params.begin(), params.end());
-
- switch (this->ServerInstance->CallCommandHandler(command.c_str(), strparams, who))
+ switch (this->ServerInstance->CallCommandHandler(command.c_str(), params, who))
{
case CMD_INVALID:
/*