- std::string line = "";
- for (int i = 1; i < pcnt - 1; i++)
- {
- line = line + std::string(parameters[i]) + " ";
- }
- line = line + std::string(parameters[pcnt-1]);
-
- Srv->SendOpers(std::string(user->nick)+" used SAQUIT to make "+std::string(dest->nick)+" quit with a reason of "+line);
- Srv->QuitUser(dest, line);
+
+ // Pass the command on, so the client's server can quit it properly.
+ if (!IS_LOCAL(dest))
+ return CMD_SUCCESS;
+
+ ServerInstance->SNO->WriteGlobalSno('a', user->nick+" used SAQUIT to make "+dest->nick+" quit with a reason of "+parameters[1]);
+
+ ServerInstance->Users->QuitUser(dest, parameters[1]);
+ return CMD_SUCCESS;
+ }
+ else
+ {
+ user->WriteServ("NOTICE %s :*** Invalid nickname '%s'", user->nick.c_str(), parameters[0].c_str());
+ return CMD_FAILURE;