diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/os_modlist.cpp | 2 | ||||
-rw-r--r-- | src/module.cpp | 9 | ||||
-rw-r--r-- | src/modulemanager.cpp | 8 | ||||
-rw-r--r-- | src/modules.cpp | 4 | ||||
-rw-r--r-- | src/operserv.cpp | 16 |
5 files changed, 17 insertions, 22 deletions
diff --git a/src/core/os_modlist.cpp b/src/core/os_modlist.cpp index a8ab244fd..3ebaed08e 100644 --- a/src/core/os_modlist.cpp +++ b/src/core/os_modlist.cpp @@ -118,7 +118,7 @@ class CommandOSModList : public Command notice_lang(Config.s_OperServ, u, OPER_MODULE_LIST_HEADER); - for (std::deque<Module *>::iterator it = Modules.begin(); it != Modules.end(); ++it) + for (std::list<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) { Module *m = *it; diff --git a/src/module.cpp b/src/module.cpp index df50b63d1..7f9e7fd0d 100644 --- a/src/module.cpp +++ b/src/module.cpp @@ -116,13 +116,10 @@ Module::~Module() } } - for (std::deque<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) + std::list<Module *>::iterator it = std::find(Modules.begin(), Modules.end(), this); + if (it != Modules.end()) { - if (*it == this) - { - Modules.erase(it); - break; - } + Modules.erase(it); } } diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp index 2d65ab4c9..878c041dd 100644 --- a/src/modulemanager.cpp +++ b/src/modulemanager.cpp @@ -87,7 +87,7 @@ static bool IsOneOfModuleTypeLoaded(MODType mt) { int pmods = 0; - for (std::deque<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) + for (std::list<Module *>::const_iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) { if ((*it)->type == mt) ++pmods; @@ -471,14 +471,12 @@ void ModuleManager::ClearCallBacks(Module *m) */ void ModuleManager::UnloadAll(bool unload_proto) { - for (std::deque<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ) + for (std::list<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ) { Module *m = *it++; if (unload_proto || m->type != PROTOCOL) DeleteModule(m); - - if (Modules.empty()) - break; } } + diff --git a/src/modules.cpp b/src/modules.cpp index f66bd01a2..cf5fd245f 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -14,7 +14,7 @@ #include "version.h" std::multimap<std::string, Message *> MessageMap; -std::deque<Module *> Modules; +std::list<Module *> Modules; char *mod_current_buffer = NULL; @@ -93,7 +93,7 @@ void Module::InsertLanguage(int langNumber, int ac, const char **av) */ Module *FindModule(const std::string &name) { - for (std::deque<Module *>::iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) + for (std::list<Module *>::const_iterator it = Modules.begin(), it_end = Modules.end(); it != it_end; ++it) { Module *m = *it; diff --git a/src/operserv.cpp b/src/operserv.cpp index c5e251d1a..8c5a0f9ef 100644 --- a/src/operserv.cpp +++ b/src/operserv.cpp @@ -272,10 +272,10 @@ const size_t XLineManager::GetCount() const return XLines.size(); } -/** Get the XLine list - * @return The list +/** Get the XLine vector + * @return The vecotr */ -const std::deque<XLine *>& XLineManager::GetList() const +const std::vector<XLine *>& XLineManager::GetList() const { return XLines; } @@ -294,7 +294,7 @@ void XLineManager::AddXLine(XLine *x) */ bool XLineManager::DelXLine(XLine *x) { - std::deque<XLine *>::iterator it = std::find(XLines.begin(), XLines.end(), x); + std::vector<XLine *>::iterator it = std::find(XLines.begin(), XLines.end(), x); if (it != XLines.end()) { @@ -319,11 +319,11 @@ XLine *XLineManager::GetEntry(unsigned index) const return XLines[index]; } -/** Clear the XLine list +/** Clear the XLine vector */ void XLineManager::Clear() { - for (std::deque<XLine *>::iterator it = XLines.begin(), it_end = XLines.end(); it != it_end; ++it) + for (std::vector<XLine *>::iterator it = XLines.begin(), it_end = XLines.end(); it != it_end; ++it) delete *it; XLines.clear(); } @@ -424,7 +424,7 @@ XLine *XLineManager::Check(User *u) { const time_t now = time(NULL); - for (std::deque<XLine *>::iterator it = XLines.begin(), it_end = XLines.end(); it != it_end; ++it) + for (std::vector<XLine *>::iterator it = XLines.begin(), it_end = XLines.end(); it != it_end; ++it) { XLine *x = *it; @@ -727,7 +727,7 @@ bool SQLineManager::Check(Channel *c) { if (ircd->chansqline && SQLine) { - for (std::deque<XLine *>::const_iterator it = SGLine->GetList().begin(), it_end = SGLine->GetList().end(); it != it_end; ++it) + for (std::vector<XLine *>::const_iterator it = SGLine->GetList().begin(), it_end = SGLine->GetList().end(); it != it_end; ++it) { XLine *x = *it; |