]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_rehash.cpp
Move _ext to replace the original, SVSSILENCE comes next
[user/henk/code/inspircd.git] / src / commands / cmd_rehash.cpp
index 7fdb9862ed9101c534549b35354b7f66e2d8e7f2..32cd43569ef77f99e4bf46752a4c83c5f13170f7 100644 (file)
@@ -24,7 +24,7 @@ extern "C" DllExport Command* init_command(InspIRCd* Instance)
 
 CmdResult CommandRehash::Handle (const char* const* parameters, int pcnt, User *user)
 {
-       user->WriteServ("382 %s %s :Rehashing",user->nick,ServerConfig::CleanFilename(ServerInstance->ConfigFileName));
+       user->WriteNumeric(382, "%s %s :Rehashing",user->nick,ServerConfig::CleanFilename(ServerInstance->ConfigFileName));
        std::string parameter;
        std::string old_disabled = ServerInstance->Config->DisabledCommands;
        if (pcnt)
@@ -41,35 +41,20 @@ CmdResult CommandRehash::Handle (const char* const* parameters, int pcnt, User *
                FOREACH_MOD(I_OnGarbageCollect, OnGarbageCollect());
                if (!ServerInstance->ConfigThread)
                {
+                       ServerInstance->Config->RehashUser = user;
+                       ServerInstance->Config->RehashParameter = parameter;
+
                        ServerInstance->ConfigThread = new ConfigReaderThread(ServerInstance, false, user);
                        ServerInstance->Threads->Create(ServerInstance->ConfigThread);
                }
                else
                {
                        /* A rehash is already in progress! ahh shit. */
-                       user->WriteServ("*** NOTICE %s :*** Could not rehash: A rehash is already in progress.", user->nick);
+                       user->WriteServ("NOTICE %s :*** Could not rehash: A rehash is already in progress.", user->nick);
                        return CMD_FAILURE;
                }
-               /* TODO:
-                * ALL THIS STUFF HERE NEEDS TO BE HOOKED TO THE 'DEATH' OF THE REHASH THREAD
-                * VIA SOME NOTIFICATION EVENT. WE CANT JUST CALL IT ALL HERE.
-                * -- B
-                */
-               // Get XLine to do it's thing.
-               /*ServerInstance->XLines->CheckELines();
-               ServerInstance->XLines->ApplyLines();
-               ServerInstance->Res->Rehash();
-               ServerInstance->ResetMaxBans();*/
        }
 
-       /* TODO: Same as above for all this stuff, really */
-       if (old_disabled != ServerInstance->Config->DisabledCommands)
-               InitializeDisabledCommands(ServerInstance->Config->DisabledCommands, ServerInstance);
-
-       FOREACH_MOD(I_OnRehash,OnRehash(user, parameter));
-
-       ServerInstance->BuildISupport();
-
        return CMD_SUCCESS;
 }