From 93418187e2a748deaf8508d4ef257ba08f556881 Mon Sep 17 00:00:00 2001 From: HanzZ Date: Wed, 7 Dec 2011 20:40:32 +0100 Subject: [PATCH] Check properly database type and show proper messages on error --- spectrum/src/main.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spectrum/src/main.cpp b/spectrum/src/main.cpp index 39a47758..a300a709 100644 --- a/spectrum/src/main.cpp +++ b/spectrum/src/main.cpp @@ -357,7 +357,13 @@ int main(int argc, char **argv) return -1; } } +#else + if (CONFIG_STRING(&config, "database.type") == "sqlite3") { + std::cerr << "Spectrum2 is not compiled with mysql backend.\n"; + return -2; + } #endif + #ifdef WITH_MYSQL if (CONFIG_STRING(&config, "database.type") == "mysql") { storageBackend = new MySQLBackend(&config); @@ -366,8 +372,18 @@ int main(int argc, char **argv) return -1; } } +#else + if (CONFIG_STRING(&config, "database.type") == "mysql") { + std::cerr << "Spectrum2 is not compiled with mysql backend.\n"; + return -2; + } #endif + if (CONFIG_STRING(&config, "database.type") != "mysql" && CONFIG_STRING(&config, "database.type") != "sqlite3") { + std::cerr << "Unknown storage backend " << CONFIG_STRING(&config, "database.type") << "\n"; + return -2; + } + UserManager userManager(&transport, &userRegistry, storageBackend); userManager_ = &userManager;