From 0f4d71477e4c88535e0254f13777de0206e890dc Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 23 May 2015 22:07:59 +0200 Subject: [PATCH] Dehardcode database_info_poll --- tasks/task_database.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/tasks/task_database.c b/tasks/task_database.c index 4e0ad581f8..1483ad08b8 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -130,14 +130,34 @@ static int database_info_iterate(database_state_handle_t *state, database_info_h static int database_info_poll(db_handle_t *db) { + char elem0[PATH_MAX_LENGTH], elem1[PATH_MAX_LENGTH]; + struct string_list *str_list = NULL; const char *path = msg_queue_pull(db->msg_queue); if (!path) return -1; - db->handle = database_info_init("/home/squarepusher/roms", DATABASE_TYPE_ITERATE); + str_list = string_split(path, "|"); + + if (!str_list) + goto error; + + if (str_list->size > 0) + strlcpy(elem0, str_list->elems[0].data, sizeof(elem0)); + if (str_list->size > 1) + strlcpy(elem1, str_list->elems[1].data, sizeof(elem1)); + + db->handle = database_info_init(elem0, DATABASE_TYPE_ITERATE); + + string_list_free(str_list); return 0; + +error: + if (str_list) + string_list_free(str_list); + + return -1; } void rarch_main_data_db_iterate(bool is_thread, void *data)