From 441bd151da733d32e194de6e4a1744ae273b83ee Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sat, 31 Oct 2020 20:03:19 +0000 Subject: Add stdalgo::iterator_range and switch config tag reading to use it. This allows us to use range-based for loops which were not possible with the previous config tag system. --- src/modules/extra/m_ldap.cpp | 5 +---- src/modules/extra/m_mysql.cpp | 11 ++++++----- src/modules/extra/m_pgsql.cpp | 11 ++++++----- src/modules/extra/m_sqlite3.cpp | 11 ++++++----- src/modules/extra/m_ssl_gnutls.cpp | 5 ++--- src/modules/extra/m_ssl_mbedtls.cpp | 5 ++--- src/modules/extra/m_ssl_openssl.cpp | 5 ++--- 7 files changed, 25 insertions(+), 28 deletions(-) (limited to 'src/modules/extra') diff --git a/src/modules/extra/m_ldap.cpp b/src/modules/extra/m_ldap.cpp index 503ef4b3c..0f3ac68d6 100644 --- a/src/modules/extra/m_ldap.cpp +++ b/src/modules/extra/m_ldap.cpp @@ -545,11 +545,8 @@ class ModuleLDAP : public Module { ServiceMap conns; - ConfigTagList tags = ServerInstance->Config->ConfTags("database"); - for (ConfigIter i = tags.first; i != tags.second; i++) + for (auto& [_, tag] : ServerInstance->Config->ConfTags("database")) { - const reference& tag = i->second; - if (!stdalgo::string::equalsci(tag->getString("module"), "ldap")) continue; diff --git a/src/modules/extra/m_mysql.cpp b/src/modules/extra/m_mysql.cpp index 622bb7e24..40d3f107a 100644 --- a/src/modules/extra/m_mysql.cpp +++ b/src/modules/extra/m_mysql.cpp @@ -467,16 +467,17 @@ ModuleSQL::~ModuleSQL() void ModuleSQL::ReadConfig(ConfigStatus& status) { ConnMap conns; - ConfigTagList tags = ServerInstance->Config->ConfTags("database"); - for(ConfigIter i = tags.first; i != tags.second; i++) + + for (auto& [_, tag] : ServerInstance->Config->ConfTags("database")) { - if (!stdalgo::string::equalsci(i->second->getString("module"), "mysql")) + if (!stdalgo::string::equalsci(tag->getString("module"), "mysql")) continue; - std::string id = i->second->getString("id"); + + std::string id = tag->getString("id"); ConnMap::iterator curr = connections.find(id); if (curr == connections.end()) { - SQLConnection* conn = new SQLConnection(this, i->second); + SQLConnection* conn = new SQLConnection(this, tag); conns.insert(std::make_pair(id, conn)); ServerInstance->Modules.AddService(*conn); } diff --git a/src/modules/extra/m_pgsql.cpp b/src/modules/extra/m_pgsql.cpp index dc9be948e..cb5c492bf 100644 --- a/src/modules/extra/m_pgsql.cpp +++ b/src/modules/extra/m_pgsql.cpp @@ -546,16 +546,17 @@ class ModulePgSQL : public Module void ReadConf() { ConnMap conns; - ConfigTagList tags = ServerInstance->Config->ConfTags("database"); - for(ConfigIter i = tags.first; i != tags.second; i++) + + for (auto& [_, tag] : ServerInstance->Config->ConfTags("database")) { - if (!stdalgo::string::equalsci(i->second->getString("module"), "pgsql")) + if (!stdalgo::string::equalsci(tag->getString("module"), "pgsql")) continue; - std::string id = i->second->getString("id"); + + std::string id = tag->getString("id"); ConnMap::iterator curr = connections.find(id); if (curr == connections.end()) { - SQLConn* conn = new SQLConn(this, i->second); + SQLConn* conn = new SQLConn(this, tag); if (conn->status != DEAD) { conns.insert(std::make_pair(id, conn)); diff --git a/src/modules/extra/m_sqlite3.cpp b/src/modules/extra/m_sqlite3.cpp index b0cd39588..bf11f25e3 100644 --- a/src/modules/extra/m_sqlite3.cpp +++ b/src/modules/extra/m_sqlite3.cpp @@ -256,13 +256,14 @@ class ModuleSQLite3 : public Module void ReadConfig(ConfigStatus& status) override { ClearConns(); - ConfigTagList tags = ServerInstance->Config->ConfTags("database"); - for(ConfigIter i = tags.first; i != tags.second; i++) + + for (auto& [_, tag] : ServerInstance->Config->ConfTags("database")) { - if (!stdalgo::string::equalsci(i->second->getString("module"), "sqlite")) + if (!stdalgo::string::equalsci(tag->getString("module"), "sqlite")) continue; - SQLConn* conn = new SQLConn(this, i->second); - conns.insert(std::make_pair(i->second->getString("id"), conn)); + + SQLConn* conn = new SQLConn(this, tag); + conns.insert(std::make_pair(tag->getString("id"), conn)); ServerInstance->Modules.AddService(*conn); } } diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 5b921cbd4..da40e6e34 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -1126,12 +1126,11 @@ class ModuleSSLGnuTLS : public Module ProfileList newprofiles; ConfigTagList tags = ServerInstance->Config->ConfTags("sslprofile"); - if (tags.first == tags.second) + if (tags.empty()) throw ModuleException("You have not specified any tags that are usable by this module!"); - for (ConfigIter i = tags.first; i != tags.second; ++i) + for (auto& [_, tag] : tags) { - ConfigTag* tag = i->second; if (!stdalgo::string::equalsci(tag->getString("provider"), "gnutls")) { ServerInstance->Logs.Log(MODNAME, LOG_DEFAULT, "Ignoring non-GnuTLS tag at " + tag->getTagLocation()); diff --git a/src/modules/extra/m_ssl_mbedtls.cpp b/src/modules/extra/m_ssl_mbedtls.cpp index c5208cf03..67246ce76 100644 --- a/src/modules/extra/m_ssl_mbedtls.cpp +++ b/src/modules/extra/m_ssl_mbedtls.cpp @@ -859,12 +859,11 @@ class ModuleSSLmbedTLS : public Module ProfileList newprofiles; ConfigTagList tags = ServerInstance->Config->ConfTags("sslprofile"); - if (tags.first == tags.second) + if (tags.empty()) throw ModuleException("You have not specified any tags that are usable by this module!"); - for (ConfigIter i = tags.first; i != tags.second; ++i) + for (auto& [_, tag] : tags) { - ConfigTag* tag = i->second; if (!stdalgo::string::equalsci(tag->getString("provider"), "mbedtls")) { ServerInstance->Logs.Log(MODNAME, LOG_DEFAULT, "Ignoring non-mbedTLS tag at " + tag->getTagLocation()); diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp index 3f517348d..401dfaeb1 100644 --- a/src/modules/extra/m_ssl_openssl.cpp +++ b/src/modules/extra/m_ssl_openssl.cpp @@ -906,12 +906,11 @@ class ModuleSSLOpenSSL : public Module { ProfileList newprofiles; ConfigTagList tags = ServerInstance->Config->ConfTags("sslprofile"); - if (tags.first == tags.second) + if (tags.empty()) throw ModuleException("You have not specified any tags that are usable by this module!"); - for (ConfigIter i = tags.first; i != tags.second; ++i) + for (auto& [_, tag] : tags) { - ConfigTag* tag = i->second; if (!stdalgo::string::equalsci(tag->getString("provider"), "openssl")) { ServerInstance->Logs.Log(MODNAME, LOG_DEFAULT, "Ignoring non-OpenSSL tag at " + tag->getTagLocation()); -- cgit v1.3.1-10-gc9f91