X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcmd_rehash.cpp;h=34789b0eaca8f0d6b46a8b4771f122d125830650;hb=f2acdbc3820f0f4f5ef76a0a64e73d2a320df91f;hp=7b9db22e0a3bfa42b0cd5ccbeb90c0a299ba9526;hpb=72da54c1c2a4f4b59d852e79adaee3348c4874ad;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_rehash.cpp b/src/cmd_rehash.cpp index 7b9db22e0..34789b0ea 100644 --- a/src/cmd_rehash.cpp +++ b/src/cmd_rehash.cpp @@ -11,6 +11,7 @@ * --------------------------------------------------- */ +#include "inspircd.h" #include "configreader.h" #include "users.h" #include "modules.h" @@ -18,15 +19,15 @@ -extern "C" command_t* init_command(InspIRCd* Instance) +extern "C" DllExport command_t* init_command(InspIRCd* Instance) { return new cmd_rehash(Instance); } 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 = ""; + user->WriteServ("382 %s %s :Rehashing",user->nick,ServerConfig::CleanFilename(ServerInstance->ConfigFileName)); + std::string parameter; std::string old_disabled = ServerInstance->Config->DisabledCommands; if (pcnt) { @@ -34,16 +35,21 @@ CmdResult cmd_rehash::Handle (const char** parameters, int pcnt, userrec *user) } else { - ServerInstance->WriteOpers("%s is rehashing config file %s",user->nick,ServerConfig::CleanFilename(CONFIG_FILE)); + ServerInstance->WriteOpers("*** %s is rehashing config file %s",user->nick,ServerConfig::CleanFilename(ServerInstance->ConfigFileName)); ServerInstance->CloseLog(); ServerInstance->OpenLog(ServerInstance->Config->argv, ServerInstance->Config->argc); ServerInstance->RehashUsersAndChans(); + FOREACH_MOD(I_OnGarbageCollect, OnGarbageCollect()); ServerInstance->Config->Read(false,user); + ServerInstance->Res->Rehash(); + ServerInstance->ResetMaxBans(); } if (old_disabled != ServerInstance->Config->DisabledCommands) InitializeDisabledCommands(ServerInstance->Config->DisabledCommands, ServerInstance); - FOREACH_MOD(I_OnRehash,OnRehash(parameter)); + FOREACH_MOD(I_OnRehash,OnRehash(user, parameter)); + + ServerInstance->BuildISupport(); return CMD_SUCCESS; }