- user->WriteServ( "385 %s %s :SVSHOLD already exists", user->nick.c_str(), parameters[0].c_str());
- return CMD_FAILURE;
- }
-
- unsigned long length = ServerInstance->Duration(parameters[1]);
- std::string reason = (parameters.size() > 2) ? parameters[2] : "No reason supplied";
-
- SVSHold* S = new SVSHold(parameters[0], user->nick, ServerInstance->Time(), length, reason);
- SVSHolds.push_back(S);
- HoldMap[parameters[0].c_str()] = S;
-
- std::sort(SVSHolds.begin(), SVSHolds.end(), SVSHoldComp);
-
- if(length > 0)
- {
- user->WriteServ( "385 %s %s :Added %lu second SVSHOLD (%s)", user->nick.c_str(), parameters[0].c_str(), length, reason.c_str());
- ServerInstance->SNO->WriteToSnoMask('A', "%s added %lu second SVSHOLD on %s (%s)", user->nick.c_str(), length, parameters[0].c_str(), reason.c_str());
+ ServerInstance->SNO->WriteGlobalSno('x', "%s added permanent SVSHOLD for %s: %s", user->nick.c_str(), parameters[0].c_str(), parameters[2].c_str());