From 5cf3ddb7b196173fbac848322bf0ed8e4dfd524b Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Aug 2011 16:03:33 -0400 Subject: Made config rehashing not wipe opers configured with opersev/oper --- src/config.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/config.cpp b/src/config.cpp index d7bbb6696..fc3fd3db1 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -642,7 +642,8 @@ static bool DoneOperTypes(ServerConfig *, const Anope::string &) static bool InitOpers(ServerConfig *config, const Anope::string &) { for (nickcore_map::const_iterator it = NickCoreList.begin(), it_end = NickCoreList.end(); it != it_end; ++it) - it->second->o = NULL; + if (it->second->o && it->second->o->config) + it->second->o = NULL; for (unsigned i = 0; i < config->Opers.size(); ++i) delete config->Opers[i]; @@ -674,6 +675,7 @@ static bool DoOper(ServerConfig *config, const Anope::string &, const Anope::str throw ConfigException("Oper block for " + name + " has invalid oper type " + type); Oper *o = new Oper(name, password, certfp, ot); + o->config = true; config->Opers.push_back(o); return true; -- cgit