#include "inspircd.h"
#include "main.h"
-#include "utils.h"
#include "commands.h"
-CmdResult CommandSVSNick::Handle(const std::vector<std::string>& parameters, User *user)
+CmdResult CommandSVSNick::Handle(User* user, std::vector<std::string>& parameters)
{
User* u = ServerInstance->FindNick(parameters[0]);
if (isdigit(nick[0]))
nick = u->uuid;
- // Don't update the TS if the nick is exactly the same
- if (u->nick == nick)
- return CMD_FAILURE;
-
time_t NickTS = ConvToInt(parameters[2]);
if (NickTS <= 0)
return CMD_FAILURE;
- ModuleSpanningTree* st = (ModuleSpanningTree*)(Module*)creator;
- st->KeepNickTS = true;
- u->age = NickTS;
-
- if (!u->ForceNickChange(nick.c_str()))
+ if (!u->ForceNickChange(nick, NickTS))
{
/* buh. UID them */
- if (!u->ForceNickChange(u->uuid.c_str()))
+ if (!u->ForceNickChange(u->uuid))
{
ServerInstance->Users->QuitUser(u, "Nickname collision");
}
}
-
- st->KeepNickTS = false;
}
return CMD_SUCCESS;