From 43babe5c3eb1883c28c6c4d1a88c1bfa0f957ce8 Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Thu, 26 Dec 2013 11:28:22 +0000 Subject: Fix the HELPOP database being destroyed when a rehash fails. --- src/modules/m_helpop.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp index 92abcd76f..4bbe8785e 100644 --- a/src/modules/m_helpop.cpp +++ b/src/modules/m_helpop.cpp @@ -99,7 +99,6 @@ class CommandHelpop : public Command class ModuleHelpop : public Module { private: - std::string h_file; CommandHelpop cmd; Helpop ho; @@ -120,7 +119,7 @@ class ModuleHelpop : public Module void ReadConfig() { - helpop_map.clear(); + std::map help; ConfigTagList tags = ServerInstance->Config->ConfTags("helpop"); for(ConfigIter i = tags.first; i != tags.second; ++i) @@ -135,20 +134,21 @@ class ModuleHelpop : public Module throw ModuleException("m_helpop: The key 'index' is reserved for internal purposes. Please remove it."); } - helpop_map[key] = value; + help[key] = value; } - if (helpop_map.find("start") == helpop_map.end()) + if (help.find("start") == help.end()) { // error! throw ModuleException("m_helpop: Helpop file is missing important entry 'start'. Please check the example conf."); } - else if (helpop_map.find("nohelp") == helpop_map.end()) + else if (help.find("nohelp") == help.end()) { // error! throw ModuleException("m_helpop: Helpop file is missing important entry 'nohelp'. Please check the example conf."); } + helpop_map.swap(help); } void OnRehash(User* user) -- cgit v1.2.3