diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-03 02:35:12 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-03 02:35:12 +0000 |
commit | b45dcb19d3350a5ae5e9a006b3679f0bc3992fea (patch) | |
tree | c64a8653ee0c6157e3d62437f1a28ac56b190844 | |
parent | f714b2b964be0eb626edafd3dc07eff966bbb016 (diff) |
Don't reassign NPrefix on rehash, its change requires a reloadmodule (noticed by Taros)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11670 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_ojoin.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/modules/m_ojoin.cpp b/src/modules/m_ojoin.cpp index 922a93a8e..6267726ef 100644 --- a/src/modules/m_ojoin.cpp +++ b/src/modules/m_ojoin.cpp @@ -245,7 +245,7 @@ class ModuleOjoin : public Module public: ModuleOjoin(InspIRCd* Me) - : Module(Me), mycommand(Me, this) + : Module(Me), np(NULL), mycommand(Me, this) { /* Load config stuff */ OnRehash(NULL); @@ -293,11 +293,15 @@ class ModuleOjoin : public Module { ConfigReader Conf(ServerInstance); - std::string npre = Conf.ReadValue("ojoin", "prefix", 0); - NPrefix = npre.empty() ? 0 : npre[0]; + if (!np) + { + // This is done on module load only + std::string npre = Conf.ReadValue("ojoin", "prefix", 0); + NPrefix = npre.empty() ? 0 : npre[0]; - if (NPrefix && ServerInstance->Modes->FindPrefix(NPrefix)) - throw ModuleException("Looks like the +Y prefix you picked for m_ojoin is already in use. Pick another."); + if (NPrefix && ServerInstance->Modes->FindPrefix(NPrefix)) + throw ModuleException("Looks like the +Y prefix you picked for m_ojoin is already in use. Pick another."); + } notice = Conf.ReadFlag("ojoin", "notice", "yes", 0); op = Conf.ReadFlag("ojoin", "op", "yes", 0); |