From a59d08fffd3dc8a9850ce34c9928fb6382b9b37f Mon Sep 17 00:00:00 2001 From: danieldg Date: Sun, 18 Oct 2009 16:01:33 +0000 Subject: Remove VF_SERVICEPROVIDER, prevent heap allocation of ConfigReader git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11904 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_operjoin.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/modules/m_operjoin.cpp') diff --git a/src/modules/m_operjoin.cpp b/src/modules/m_operjoin.cpp index 772bef525..42b30f6fb 100644 --- a/src/modules/m_operjoin.cpp +++ b/src/modules/m_operjoin.cpp @@ -43,36 +43,35 @@ class ModuleOperjoin : public Module } public: - ModuleOperjoin() { + ModuleOperjoin() + { OnRehash(NULL); - Implementation eventlist[] = { I_OnPostOper, I_OnRehash }; - ServerInstance->Modules->Attach(eventlist, this, 2); + Implementation eventlist[] = { I_OnPostOper, I_OnRehash }; + ServerInstance->Modules->Attach(eventlist, this, 2); } virtual void OnRehash(User* user) { - ConfigReader* conf = new ConfigReader; + ConfigReader conf; - operChan = conf->ReadValue("operjoin", "channel", 0); - override = conf->ReadFlag("operjoin", "override", "0", 0); + operChan = conf.ReadValue("operjoin", "channel", 0); + override = conf.ReadFlag("operjoin", "override", "0", 0); operChans.clear(); if (!operChan.empty()) tokenize(operChan,operChans); std::map >().swap(operTypeChans); - int olines = conf->Enumerate("type"); + int olines = conf.Enumerate("type"); for (int index = 0; index < olines; ++index) { - std::string chanList = conf->ReadValue("type", "autojoin", index); + std::string chanList = conf.ReadValue("type", "autojoin", index); if (!chanList.empty()) { - tokenize(chanList, operTypeChans[conf->ReadValue("type", "name", index)]); + tokenize(chanList, operTypeChans[conf.ReadValue("type", "name", index)]); } } - - delete conf; } virtual ~ModuleOperjoin() -- cgit v1.3.1-10-gc9f91