summaryrefslogtreecommitdiff
path: root/src/modules/mysql/db_mysql_read.cpp
diff options
context:
space:
mode:
authorAdam <Adam@drink-coca-cola.info>2010-05-10 17:55:23 -0400
committerAdam <Adam@anope.org>2010-06-18 21:01:17 -0400
commit631d11d6a81e8c5f63a19fc279606a61ab1a0563 (patch)
tree399d7591a669ce0d5cb4e8f9afe86352b1147281 /src/modules/mysql/db_mysql_read.cpp
parent4e1286ca109d079f32d32f07c344a1ab93899032 (diff)
Store a plaintext version of mode names in the mode structures, removes alot of unneeded code from db_plain/db_mysql.
Diffstat (limited to 'src/modules/mysql/db_mysql_read.cpp')
-rw-r--r--src/modules/mysql/db_mysql_read.cpp43
1 files changed, 29 insertions, 14 deletions
diff --git a/src/modules/mysql/db_mysql_read.cpp b/src/modules/mysql/db_mysql_read.cpp
index 5c498b008..728e4b882 100644
--- a/src/modules/mysql/db_mysql_read.cpp
+++ b/src/modules/mysql/db_mysql_read.cpp
@@ -27,7 +27,7 @@ static std::vector<std::string> MakeVector(std::string buf)
static void LoadDatabase()
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
mysqlpp::StoreQueryResult qres;
query << "SELECT * FROM `anope_ns_core`";
@@ -270,12 +270,17 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_on"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- ci->SetMLock(ChannelModes[j].Mode, true);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ ci->SetMLock(cm->Name, true);
+ break;
+ }
}
}
}
@@ -286,12 +291,17 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_off"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- ci->SetMLock(ChannelModes[j].Mode, false);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ ci->SetMLock(cm->Name, false);
+ break;
+ }
}
}
}
@@ -302,13 +312,18 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_params"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- sep.GetToken(buf);
- ci->SetMLock(ChannelModes[j].Mode, true, buf);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ sep.GetToken(buf);
+ ci->SetMLock(cm->Name, true, buf);
+ break;
+ }
}
}
}