X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fextra%2Fm_sqlite3.cpp;h=05203da39c6ae7fb464a33ffe33f7ed3781cb047;hb=1f0485039a276ad1c2fa3d53d284e3a87940ec77;hp=54a2788ebc1a780c43e9ac95e6980cc488b9a275;hpb=1031f333332cf1b09db4fd632f141143ee637c34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/extra/m_sqlite3.cpp b/src/modules/extra/m_sqlite3.cpp index 54a2788eb..05203da39 100644 --- a/src/modules/extra/m_sqlite3.cpp +++ b/src/modules/extra/m_sqlite3.cpp @@ -21,18 +21,26 @@ #include "inspircd.h" -#include #include "modules/sql.h" +// Fix warnings about the use of `long long` on C++03. +#if defined __clang__ +# pragma clang diagnostic ignored "-Wc++11-long-long" +#elif defined __GNUC__ +# pragma GCC diagnostic ignored "-Wlong-long" +#endif + +#include + #ifdef _WIN32 # pragma comment(lib, "sqlite3.lib") #endif -/* $CompileFlags: pkgconfversion("sqlite3","3.3") pkgconfincludes("sqlite3","/sqlite3.h","") -Wno-pedantic */ +/* $CompileFlags: pkgconfversion("sqlite3","3.3") pkgconfincludes("sqlite3","/sqlite3.h","") */ /* $LinkerFlags: pkgconflibs("sqlite3","/libsqlite3.so","-lsqlite3") */ class SQLConn; -typedef std::map ConnMap; +typedef insp::flat_map ConnMap; class SQLite3Result : public SQLResult { @@ -90,8 +98,11 @@ class SQLConn : public SQLProvider ~SQLConn() { - sqlite3_interrupt(conn); - sqlite3_close(conn); + if (conn) + { + sqlite3_interrupt(conn); + sqlite3_close(conn); + } } void Query(SQLQuery* query, const std::string& q) @@ -202,11 +213,6 @@ class ModuleSQLite3 : public Module ConnMap conns; public: - void init() CXX11_OVERRIDE - { - ReadConf(); - } - ~ModuleSQLite3() { ClearConns(); @@ -223,7 +229,7 @@ class ModuleSQLite3 : public Module conns.clear(); } - void ReadConf() + void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { ClearConns(); ConfigTagList tags = ServerInstance->Config->ConfTags("database"); @@ -237,11 +243,6 @@ class ModuleSQLite3 : public Module } } - void OnRehash(User* user) CXX11_OVERRIDE - { - ReadConf(); - } - Version GetVersion() CXX11_OVERRIDE { return Version("sqlite3 provider", VF_VENDOR);