- Srv->ChangeHost(dest,parameters[1]);
- if (!Srv->IsUlined(user->server))
+ user->WriteServ("NOTICE %s :*** CHGHOST: Host must be specified", user->nick.c_str());
+ return CMD_FAILURE;
+ }
+
+ if ((parameters[1].c_str() - x) > 63)
+ {
+ user->WriteServ("NOTICE %s :*** CHGHOST: Host too long", user->nick.c_str());
+ return CMD_FAILURE;
+ }
+ User* dest = ServerInstance->FindNick(parameters[0]);
+
+ if (!dest)
+ {
+ user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", user->nick.c_str(), parameters[0].c_str());
+ return CMD_FAILURE;
+ }
+
+ if (IS_LOCAL(dest))
+ {
+ if ((dest->ChangeDisplayedHost(parameters[1].c_str())) && (!ServerInstance->ULine(user->server)))