summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/os_modlist.cpp2
-rw-r--r--src/module.cpp9
-rw-r--r--src/modulemanager.cpp8
-rw-r--r--src/modules.cpp4
-rw-r--r--src/operserv.cpp16
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;