]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_whowas.cpp
Replace OnRehash() with ReadConfig() that is called on boot, on module load and on...
[user/henk/code/inspircd.git] / src / commands / cmd_whowas.cpp
index b406781b1932f17997814e859f5daf9a55bc823e..ea1020fbc6f798807601e97df7d199a864594bb0 100644 (file)
@@ -54,14 +54,6 @@ CmdResult CommandWhowas::Handle (const std::vector<std::string>& parameters, Use
                        for (whowas_set::iterator ux = grp->begin(); ux != grp->end(); ux++)
                        {
                                WhoWasGroup* u = *ux;
-                               time_t rawtime = u->signon;
-                               tm *timeinfo;
-                               char b[25];
-
-                               timeinfo = localtime(&rawtime);
-
-                               strncpy(b,asctime(timeinfo),24);
-                               b[24] = 0;
 
                                user->WriteNumeric(314, "%s %s %s %s * :%s",user->nick.c_str(),parameters[0].c_str(),
                                        u->ident.c_str(),u->dhost.c_str(),u->gecos.c_str());
@@ -70,8 +62,9 @@ CmdResult CommandWhowas::Handle (const std::vector<std::string>& parameters, Use
                                        user->WriteNumeric(379, "%s %s :was connecting from *@%s",
                                                user->nick.c_str(), parameters[0].c_str(), u->host.c_str());
 
+                               std::string signon = ServerInstance->TimeString(u->signon);
                                bool hide_server = (!ServerInstance->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex"));
-                               user->WriteNumeric(312, "%s %s %s :%s",user->nick.c_str(), parameters[0].c_str(), (hide_server ? ServerInstance->Config->HideWhoisServer.c_str() : u->server.c_str()), b);
+                               user->WriteNumeric(312, "%s %s %s :%s",user->nick.c_str(), parameters[0].c_str(), (hide_server ? ServerInstance->Config->HideWhoisServer.c_str() : u->server.c_str()), signon.c_str());
                        }
                }
                else
@@ -238,7 +231,6 @@ class ModuleWhoWas : public Module
        void init()
        {
                ServerInstance->Modules->AddService(cmd);
-               OnRehash(NULL);
        }
 
        void OnGarbageCollect()
@@ -260,7 +252,7 @@ class ModuleWhoWas : public Module
                return MOD_RES_PASSTHRU;
        }
 
-       void OnRehash(User* user)
+       void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
                ConfigTag* tag = ServerInstance->Config->ConfValue("whowas");
                unsigned int NewGroupSize = tag->getInt("groupsize", 10, 0, 10000);