From 93418187e2a748deaf8508d4ef257ba08f556881 2011-12-07 20:40:32 From: HanzZ Date: 2011-12-07 20:40:32 Subject: [PATCH] Check properly database type and show proper messages on error --- diff --git a/spectrum/src/main.cpp b/spectrum/src/main.cpp index 39a477582157a5df2b77f7022a5f22b27254c943..a300a7096466ad095723cd03780d95a3770a8c57 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;