aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/DatabaseGlue.cxx11
-rw-r--r--src/database.h4
-rw-r--r--src/main.c7
3 files changed, 9 insertions, 13 deletions
diff --git a/src/DatabaseGlue.cxx b/src/DatabaseGlue.cxx
index a0246253c..370a264a6 100644
--- a/src/DatabaseGlue.cxx
+++ b/src/DatabaseGlue.cxx
@@ -51,21 +51,12 @@ static Database *db;
static bool db_is_open;
bool
-db_init(const struct config_param *path, GError **error_r)
+db_init(const struct config_param *param, GError **error_r)
{
assert(db == NULL);
assert(!db_is_open);
- if (path == NULL)
- return true;
-
- struct config_param *param = config_new_param("database", path->line);
- config_add_block_param(param, "path", path->value, path->line);
-
db = simple_db_plugin.create(param, error_r);
-
- config_param_free(param);
-
return db != NULL;
}
diff --git a/src/database.h b/src/database.h
index a22fea823..d8d86fa5d 100644
--- a/src/database.h
+++ b/src/database.h
@@ -35,10 +35,10 @@ struct db_visitor;
/**
* Initialize the database library.
*
- * @param path the absolute path of the database file
+ * @param param the database configuration block
*/
bool
-db_init(const struct config_param *path, GError **error_r);
+db_init(const struct config_param *param, GError **error_r);
void
db_finish(void);
diff --git a/src/main.c b/src/main.c
index 99918c48c..00bbf7202 100644
--- a/src/main.c
+++ b/src/main.c
@@ -169,9 +169,14 @@ glue_db_init_and_load(void)
if (path == NULL)
MPD_ERROR(CONF_DB_FILE " setting missing");
- if (!db_init(path, &error))
+ struct config_param *param = config_new_param("database", path->line);
+ config_add_block_param(param, "path", path->value, path->line);
+
+ if (!db_init(param, &error))
MPD_ERROR("%s", error->message);
+ config_param_free(param);
+
ret = db_load(&error);
if (!ret)
MPD_ERROR("%s", error->message);