diff options
author | Max Kellermann <max@duempel.org> | 2014-02-17 22:12:33 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-17 22:14:00 +0100 |
commit | 91729437a0c24c5aad8f223f64ee63e918fe8b91 (patch) | |
tree | b68c0e574d60e9395de75ac3761968e6104fc98f /src | |
parent | 3af7af0b8fe603ab5c45f2cf3d89cb6ca017c40e (diff) | |
download | mpd-91729437a0c24c5aad8f223f64ee63e918fe8b91.tar.gz mpd-91729437a0c24c5aad8f223f64ee63e918fe8b91.tar.xz mpd-91729437a0c24c5aad8f223f64ee63e918fe8b91.zip |
Main: initialize Database before Storage
Diffstat (limited to '')
-rw-r--r-- | src/Main.cxx | 17 | ||||
-rw-r--r-- | src/db/Configured.cxx | 14 | ||||
-rw-r--r-- | src/db/Configured.hxx | 2 |
3 files changed, 14 insertions, 19 deletions
diff --git a/src/Main.cxx b/src/Main.cxx index 23f1659d7..2657d54f1 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -172,7 +172,6 @@ glue_db_init_and_load(void) Error error; instance->database = CreateConfiguredDatabase(*instance->event_loop, *instance, - instance->storage != nullptr, is_simple, error); if (instance->database == nullptr) { if (error.IsDefined()) @@ -181,6 +180,18 @@ glue_db_init_and_load(void) return true; } + if (!InitStorage(error)) + FatalError(error); + + if (instance->storage == nullptr) { + delete instance->database; + instance->database = nullptr; + LogDefault(config_domain, + "Found database setting without " + "music_directory - disabling database"); + return true; + } + if (!instance->database->Open(error)) FatalError(error); @@ -199,10 +210,6 @@ glue_db_init_and_load(void) static bool InitDatabaseAndStorage() { - Error error; - if (!InitStorage(error)) - FatalError(error); - const bool create_db = !glue_db_init_and_load(); return create_db; } diff --git a/src/db/Configured.cxx b/src/db/Configured.cxx index a6194dc5c..edd3159f9 100644 --- a/src/db/Configured.cxx +++ b/src/db/Configured.cxx @@ -28,7 +28,7 @@ Database * CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener, - bool have_storage, bool &is_simple_r, Error &error) + bool &is_simple_r, Error &error) { const struct config_param *param = config_get_param(CONF_DATABASE); const struct config_param *path = config_get_param(CONF_DB_FILE); @@ -40,18 +40,6 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener, return nullptr; } - if (!have_storage) { - if (param != nullptr) - LogDefault(config_domain, - "Found database setting without " - "music_directory - disabling database"); - if (path != nullptr) - LogDefault(config_domain, - "Found db_file setting without " - "music_directory - disabling database"); - return nullptr; - } - struct config_param *allocated = nullptr; if (param == nullptr && path != nullptr) { diff --git a/src/db/Configured.hxx b/src/db/Configured.hxx index 0cd054b4b..4e4299bfc 100644 --- a/src/db/Configured.hxx +++ b/src/db/Configured.hxx @@ -34,6 +34,6 @@ class Error; */ Database * CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener, - bool have_storage, bool &is_simple_r, Error &error); + bool &is_simple_r, Error &error); #endif |