- CmdResult Handle(const char** parameters, int pcnt, User* user)
+ CmdResult Handle(const char* const* parameters, int pcnt, User* user)
{
User* dest = ServerInstance->FindNick(parameters[0]);
if (!dest)
{
- user->WriteServ("401 %s %s :No such nick/channel", user->nick, parameters[0]);
+ user->WriteNumeric(401, "%s %s :No such nick/channel", user->nick, parameters[0]);
return CMD_FAILURE;
}
- if (!*parameters[1])
- {
- user->WriteServ("NOTICE %s :*** SWHOIS: Whois line must be specified", user->nick);
- return CMD_FAILURE;
- }
-
std::string line;
for (int i = 1; i < pcnt; i++)
{
@@ -59,10+53,9 @@ class CommandSwhois : public Command
if (text)
{
// We already had it set...
-
if (!ServerInstance->ULine(user->server))
// Ulines set SWHOISes silently
- ServerInstance->SNO->WriteToSnoMask('O', "%s used SWHOIS to set %s's extra whois from '%s' to '%s'", user->nick, dest->nick, text->c_str(), line.c_str());
+ ServerInstance->SNO->WriteToSnoMask('A', "%s used SWHOIS to set %s's extra whois from '%s' to '%s'", user->nick, dest->nick, text->c_str(), line.c_str());
dest->Shrink("swhois");
delete text;
@@ -70,7+63,7 @@ class CommandSwhois : public Command
else if (!ServerInstance->ULine(user->server))
{
// Ulines set SWHOISes silently
- ServerInstance->SNO->WriteToSnoMask('O', "%s used SWHOIS to set %s's extra whois to '%s'", user->nick, dest->nick, line.c_str());
+ ServerInstance->SNO->WriteToSnoMask('A', "%s used SWHOIS to set %s's extra whois to '%s'", user->nick, dest->nick, line.c_str());
}
text = new std::string(line);
@@ -82,13+75,14 @@ class CommandSwhois : public Command
* Sorry w00t i know this was your fix, but i got bored and wanted to clear down the tracker :)
* -- Brain
*/
- std::deque<std::string>* metadata = new std::deque<std::string>;
- metadata->push_back(dest->nick);
- metadata->push_back("swhois"); // The metadata id
- metadata->push_back(*text); // The value to send