summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2013-12-27 16:13:00 -0800
committerAttila Molnar <attilamolnar@hush.com>2013-12-27 16:13:00 -0800
commita45db73920c6a3e51e5a19fe697f86dd185d72b4 (patch)
treef1abb8b2a47970b0de6104be02e9e7255ab28c68
parent928c5e6bed419adb1aa489c91857c4eca42ccdcc (diff)
parent43babe5c3eb1883c28c6c4d1a88c1bfa0f957ce8 (diff)
Merge pull request #714 from SaberUK/insp20+fix-helpop
[2.0] Fix the HELPOP database being destroyed when a rehash fails.
-rw-r--r--src/modules/m_helpop.cpp10
1 files changed, 5 insertions, 5 deletions
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<irc::string, std::string> 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)