diff options
Diffstat (limited to 'src/commands/cmd_time.cpp')
-rw-r--r-- | src/commands/cmd_time.cpp | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/commands/cmd_time.cpp b/src/commands/cmd_time.cpp index 43f4b6bd1..01b9b28a1 100644 --- a/src/commands/cmd_time.cpp +++ b/src/commands/cmd_time.cpp @@ -13,14 +13,6 @@ #include "inspircd.h" -#ifndef __CMD_TIME_H__ -#define __CMD_TIME_H__ - -// include the common header files - -#include "users.h" -#include "channels.h" - /** Handle /TIME. These command handlers can be reloaded by the core, * and handle basic RFC1459 commands. Commands within modules work * the same way, however, they can be fully unloaded, where these @@ -39,15 +31,18 @@ class CommandTime : public Command * @return A value from CmdResult to indicate command success or failure. */ CmdResult Handle(const std::vector<std::string>& parameters, User *user); + RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters) + { + if (parameters.size() > 0) + return ROUTE_UNICAST(parameters[0]); + return ROUTE_LOCALONLY; + } }; -#endif - - - - -CmdResult CommandTime::Handle (const std::vector<std::string>&, User *user) +CmdResult CommandTime::Handle (const std::vector<std::string>& parameters, User *user) { + if (parameters.size() > 0 && parameters[0] != ServerInstance->Config->ServerName) + return CMD_SUCCESS; struct tm* timeinfo; time_t local = ServerInstance->Time(); @@ -57,7 +52,7 @@ CmdResult CommandTime::Handle (const std::vector<std::string>&, User *user) snprintf(tms,26,"%s",asctime(timeinfo)); tms[24] = 0; - user->WriteNumeric(RPL_TIME, "%s %s :%s",user->nick.c_str(),ServerInstance->Config->ServerName.c_str(),tms); + user->SendText(":%s %03d %s %s :%s", ServerInstance->Config->ServerName.c_str(), RPL_TIME, user->nick.c_str(),ServerInstance->Config->ServerName.c_str(),tms); return CMD_SUCCESS; } |