From 52eaa7d6d61e3373340fd5a69b92b0fb3b5609e0 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 25 Jan 2012 15:48:07 -0500 Subject: Windows --- modules/database/db_old.cpp | 29 ++++++++++++++++------------- modules/database/db_plain.cpp | 4 ++-- modules/database/db_sql.cpp | 6 +++--- modules/database/db_sql_live_read.cpp | 6 +++--- modules/database/db_sql_live_write.cpp | 6 +++--- 5 files changed, 27 insertions(+), 24 deletions(-) (limited to 'modules/database') diff --git a/modules/database/db_old.cpp b/modules/database/db_old.cpp index 61a8bc1b2..e7a6fa390 100644 --- a/modules/database/db_old.cpp +++ b/modules/database/db_old.cpp @@ -723,6 +723,7 @@ static void LoadChannels() ci->SetLevel(GetLevelName(j), level); } + service_reference provider("AccessProvider", "access/access"); uint16_t tmpu16; READ(read_uint16(&tmpu16, f)); for (uint16_t j = 0; j < tmpu16; ++j) @@ -731,27 +732,29 @@ static void LoadChannels() READ(read_uint16(&in_use, f)); if (in_use) { - service_reference provider("access/access"); - if (!provider) - break; - - ChanAccess *access = provider->Create(); - access->ci = ci; + ChanAccess *access = provider ? provider->Create() : NULL; + if (access) + access->ci = ci; int16_t level; READ(read_int16(&level, f)); - access->Unserialize(stringify(level)); + if (access) + access->Unserialize(stringify(level)); Anope::string mask; READ(read_string(mask, f)); - access->mask = mask; + if (access) + access->mask = mask; READ(read_int32(&tmp32, f)); - access->last_seen = tmp32; - access->creator = "Unknown"; - access->created = Anope::CurTime; - - ci->AddAccess(access); + if (access) + { + access->last_seen = tmp32; + access->creator = "Unknown"; + access->created = Anope::CurTime; + + ci->AddAccess(access); + } } } diff --git a/modules/database/db_plain.cpp b/modules/database/db_plain.cpp index a0f52c550..7c7721f7c 100644 --- a/modules/database/db_plain.cpp +++ b/modules/database/db_plain.cpp @@ -168,7 +168,7 @@ EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const Anope::string &key, co } else if (key.equals_ci("ACCESS")) // Older access system, from Anope 1.9.4. { - service_reference provider("access/access"); + service_reference provider("AccessProvider", "access/access"); if (!provider) throw DatabaseException("Old access entry for nonexistant provider"); @@ -184,7 +184,7 @@ EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const Anope::string &key, co } else if (key.equals_ci("ACCESS2")) { - service_reference provider(params[0]); + service_reference provider("AccessProvider", params[0]); if (!provider) throw DatabaseException("Access entry for nonexistant provider " + params[0]); diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp index c32c12e2e..6022418de 100644 --- a/modules/database/db_sql.cpp +++ b/modules/database/db_sql.cpp @@ -32,7 +32,7 @@ class SQLSQLInterface : public SQLInterface class DBSQL : public Module { - service_reference sql; + service_reference sql; SQLSQLInterface sqlinterface; void RunBackground(const SQLQuery &q) @@ -101,7 +101,7 @@ class DBSQL : public Module } public: - DBSQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE), sql(""), sqlinterface(this) + DBSQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE), sql("", ""), sqlinterface(this) { this->SetAuthor("Anope"); @@ -115,7 +115,7 @@ class DBSQL : public Module { ConfigReader config; Anope::string engine = config.ReadValue("db_sql", "engine", "", 0); - this->sql = engine; + this->sql = service_reference("SQLProvider", engine); } EventReturn OnSaveDatabase() diff --git a/modules/database/db_sql_live_read.cpp b/modules/database/db_sql_live_read.cpp index 90a36d10a..e79e4c27d 100644 --- a/modules/database/db_sql_live_read.cpp +++ b/modules/database/db_sql_live_read.cpp @@ -34,7 +34,7 @@ class SQLCache : public Timer class MySQLLiveModule : public Module { - service_reference SQL; + service_reference SQL; SQLCache chan_cache, nick_cache, core_cache; @@ -51,7 +51,7 @@ class MySQLLiveModule : public Module public: MySQLLiveModule(const Anope::string &modname, const Anope::string &creator) : - Module(modname, creator, DATABASE), SQL("") + Module(modname, creator, DATABASE), SQL("", "") { this->OnReload(); @@ -63,7 +63,7 @@ class MySQLLiveModule : public Module { ConfigReader config; Anope::string engine = config.ReadValue("db_sql", "engine", "", 0); - this->SQL = engine; + this->SQL = service_reference("SQLProvider", engine); } void OnShutdown() diff --git a/modules/database/db_sql_live_write.cpp b/modules/database/db_sql_live_write.cpp index a97f57359..15bb6e91f 100644 --- a/modules/database/db_sql_live_write.cpp +++ b/modules/database/db_sql_live_write.cpp @@ -25,7 +25,7 @@ class DBMySQL : public Module { private: MySQLInterface sqlinterface; - service_reference SQL; + service_reference SQL; std::set tables; void RunQuery(const SQLQuery &query) @@ -106,7 +106,7 @@ class DBMySQL : public Module time_t lastwarn; bool ro; - DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE), sqlinterface(this), SQL("") + DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE), sqlinterface(this), SQL("", "") { this->lastwarn = 0; this->ro = false; @@ -124,7 +124,7 @@ class DBMySQL : public Module { ConfigReader config; Anope::string engine = config.ReadValue("db_sql", "engine", "", 0); - this->SQL = engine; + this->SQL = service_reference("SQLProvider", engine); } void OnServerConnect() -- cgit