]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_rehash.cpp
Bad w00tie bad, /who isnt checking +s for channel /who!
[user/henk/code/inspircd.git] / src / cmd_rehash.cpp
index c4ee2f94f766dabca883a0353997299ff23a0b0e..7700d7f4960573f6e4bd946579b06c5536cdd98e 100644 (file)
@@ -26,10 +26,11 @@ extern "C" command_t* init_command(InspIRCd* Instance)
        return new cmd_rehash(Instance);
 }
 
-void cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
+CmdResult cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
 {
        user->WriteServ("382 %s %s :Rehashing",user->nick,ServerConfig::CleanFilename(CONFIG_FILE));
        std::string parameter = "";
+       std::string old_disabled = ServerInstance->Config->DisabledCommands;
        if (pcnt)
        {
                parameter = parameters[0];
@@ -39,5 +40,11 @@ void cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user)
                ServerInstance->WriteOpers("%s is rehashing config file %s",user->nick,ServerConfig::CleanFilename(CONFIG_FILE));
                ServerInstance->Config->Read(false,user);
        }
+       if (old_disabled != ServerInstance->Config->DisabledCommands)
+               InitializeDisabledCommands(ServerInstance->Config->DisabledCommands, ServerInstance);
+
        FOREACH_MOD(I_OnRehash,OnRehash(parameter));
+
+       return CMD_SUCCESS;
 }
+