This commit is contained in:
twinaphex 2016-09-29 11:03:59 +02:00
parent cfe91125db
commit 1842e35b8d
3 changed files with 25 additions and 16 deletions

View file

@ -669,6 +669,13 @@ enum database_type database_info_get_type(database_info_handle_t *handle)
return handle->type;
}
const char *database_info_get_current_name(database_state_handle_t *handle)
{
if (!handle || !handle->list)
return NULL;
return handle->list->elems[handle->list_index].data;
}
const char *database_info_get_current_element_name(database_info_handle_t *handle)
{
if (!handle || !handle->list)

View file

@ -97,6 +97,19 @@ typedef struct
size_t count;
} database_info_list_t;
typedef struct database_state_handle
{
database_info_list_t *info;
struct string_list *list;
size_t list_index;
size_t entry_index;
uint32_t crc;
uint32_t archive_crc;
uint8_t *buf;
char archive_name[PATH_MAX_LENGTH];
char serial[4096];
} database_state_handle_t;
database_info_list_t *database_info_list_new(const char *rdb_path,
const char *query);
@ -112,6 +125,8 @@ void database_info_set_type(database_info_handle_t *handle, enum database_type t
const char *database_info_get_current_element_name(database_info_handle_t *handle);
const char *database_info_get_current_name(database_state_handle_t *handle);
enum database_type database_info_get_type(database_info_handle_t *handle);
void database_info_free(database_info_handle_t *handle);

View file

@ -40,19 +40,6 @@
#define COLLECTION_SIZE 99999
#endif
typedef struct database_state_handle
{
database_info_list_t *info;
struct string_list *list;
size_t list_index;
size_t entry_index;
uint32_t crc;
uint32_t archive_crc;
uint8_t *buf;
char archive_name[PATH_MAX_LENGTH];
char serial[4096];
} database_state_handle_t;
typedef struct db_handle
{
database_state_handle_t state;
@ -218,7 +205,7 @@ static int task_database_iterate_next(database_info_handle_t *db)
static int database_info_list_iterate_new(database_state_handle_t *db_state,
const char *query)
{
const char *new_database = db_state->list->elems[db_state->list_index].data;
const char *new_database = database_info_get_current_name(db_state);
#if 0
RARCH_LOG("Check database [%d/%d] : %s\n", (unsigned)db_state->list_index,
(unsigned)db_state->list->size, new_database);
@ -244,8 +231,8 @@ static int database_info_list_iterate_found_match(
char entry_path_str[PATH_MAX_LENGTH] = {0};
playlist_t *playlist = NULL;
settings_t *settings = config_get_ptr();
const char *db_path =
db_state->list->elems[db_state->list_index].data;
const char *db_path =
database_info_get_current_name(db_state);
const char *entry_path =
database_info_get_current_element_name(db);
database_info_t *db_info_entry =