summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-03 02:35:12 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-03 02:35:12 +0000
commitb45dcb19d3350a5ae5e9a006b3679f0bc3992fea (patch)
treec64a8653ee0c6157e3d62437f1a28ac56b190844 /src
parentf714b2b964be0eb626edafd3dc07eff966bbb016 (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
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_ojoin.cpp14
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);