From a3f5590f41e5ceaaadaa55ea3d354aee27e0a975 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 18 Jan 2017 01:23:09 +0100 Subject: [PATCH] remove dependence on configuration.h inside task_database.c --- menu/cbs/menu_cbs_scan.c | 12 ++++++++++-- tasks/task_database.c | 13 ++++++------- tasks/tasks_internal.h | 5 ++++- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/menu/cbs/menu_cbs_scan.c b/menu/cbs/menu_cbs_scan.c index 12b89cefd6..180d2128f5 100644 --- a/menu/cbs/menu_cbs_scan.c +++ b/menu/cbs/menu_cbs_scan.c @@ -54,6 +54,7 @@ int action_scan_file(const char *path, const char *menu_label = NULL; const char *menu_path = NULL; menu_handle_t *menu = NULL; + settings_t *settings = config_get_ptr(); fullpath[0] = '\0'; @@ -64,7 +65,10 @@ int action_scan_file(const char *path, fill_pathname_join(fullpath, menu_path, path, sizeof(fullpath)); - task_push_dbscan(fullpath, false, handle_dbscan_finished); + task_push_dbscan( + settings->directory.playlist, + settings->path.content_database, + fullpath, false, handle_dbscan_finished); return 0; } @@ -77,6 +81,7 @@ int action_scan_directory(const char *path, const char *menu_label = NULL; const char *menu_path = NULL; menu_handle_t *menu = NULL; + settings_t *settings = config_get_ptr(); fullpath[0] = '\0'; @@ -90,7 +95,10 @@ int action_scan_directory(const char *path, if (path) fill_pathname_join(fullpath, fullpath, path, sizeof(fullpath)); - task_push_dbscan(fullpath, true, handle_dbscan_finished); + task_push_dbscan( + settings->directory.playlist, + settings->path.content_database, + fullpath, true, handle_dbscan_finished); return 0; } diff --git a/tasks/task_database.c b/tasks/task_database.c index a300e833ea..6136d28409 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -28,7 +28,6 @@ #include "../database_info.h" -#include "../configuration.h" #include "../file_path_special.h" #include "../list_special.h" #include "../msg_hash.h" @@ -700,10 +699,12 @@ task_finished: free(dbinfo); } -bool task_push_dbscan(const char *fullpath, +bool task_push_dbscan( + const char *playlist_directory, + const char *content_database, + const char *fullpath, bool directory, retro_task_callback_t cb) { - settings_t *settings = config_get_ptr(); retro_task_t *t = (retro_task_t*)calloc(1, sizeof(*t)); db_handle_t *db = (db_handle_t*)calloc(1, sizeof(db_handle_t)); @@ -714,11 +715,9 @@ bool task_push_dbscan(const char *fullpath, t->state = db; t->callback = cb; - strlcpy(db->playlist_directory, - settings->directory.playlist, + strlcpy(db->playlist_directory, playlist_directory, sizeof(db->playlist_directory)); - strlcpy(db->content_database_path, - settings->path.content_database, + strlcpy(db->content_database_path, content_database, sizeof(db->content_database_path)); if (directory) diff --git a/tasks/tasks_internal.h b/tasks/tasks_internal.h index 0d50899867..ae900ee8fa 100644 --- a/tasks/tasks_internal.h +++ b/tasks/tasks_internal.h @@ -104,7 +104,10 @@ bool task_push_image_load(const char *fullpath, retro_task_callback_t cb, void *userdata); #ifdef HAVE_LIBRETRODB -bool task_push_dbscan(const char *fullpath, +bool task_push_dbscan( + const char *playlist_directory, + const char *content_database, + const char *fullpath, bool directory, retro_task_callback_t cb); #endif