summaryrefslogtreecommitdiff
path: root/src/commands/cmd_time.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/cmd_time.cpp')
-rw-r--r--src/commands/cmd_time.cpp25
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;
}