diff options
author | Adam <Adam@drink-coca-cola.info> | 2010-05-10 17:55:23 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-06-18 21:01:17 -0400 |
commit | 631d11d6a81e8c5f63a19fc279606a61ab1a0563 (patch) | |
tree | 399d7591a669ce0d5cb4e8f9afe86352b1147281 /src/modules/mysql/db_mysql_read.cpp | |
parent | 4e1286ca109d079f32d32f07c344a1ab93899032 (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.cpp | 43 |
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; + } } } } |