Revert "Simplify menu_displaylist_parse_cores"

This reverts commit 269a95b0bff9e352be55c98e6b0825353c9659db.
This commit is contained in:
M4xw 2019-05-19 23:51:07 +02:00
parent 9f297f5f7c
commit 3834d29fcb

View File

@ -2327,14 +2327,11 @@ static unsigned menu_displaylist_parse_cores(
menu_displaylist_info_t *info)
{
size_t i, list_size;
const char *dir = NULL;
core_info_list_t *list = NULL;
struct string_list *str_list = NULL;
unsigned items_found = 0;
settings_t *settings = config_get_ptr();
const char *path = info->path;
bool ok = false;
bool ok;
if (string_is_empty(path))
{
@ -2345,10 +2342,6 @@ static unsigned menu_displaylist_parse_cores(
return items_found;
}
core_info_get_list(&list);
menu_entries_get_last_stack(&dir, NULL, NULL, NULL, NULL);
str_list = string_list_new();
ok = dir_list_append(str_list, path, info->exts,
true, settings->bools.show_hidden_files, false, false);
@ -2418,8 +2411,8 @@ static unsigned menu_displaylist_parse_cores(
{
bool is_dir;
char label[64];
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
const char *path = NULL;
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
enum msg_file_type file_type = FILE_TYPE_NONE;
label[0] = '\0';
@ -2478,7 +2471,6 @@ static unsigned menu_displaylist_parse_cores(
enum_idx = MENU_ENUM_LABEL_FILE_BROWSER_SIDELOAD_CORE;
else
enum_idx = MENU_ENUM_LABEL_FILE_BROWSER_CORE;
}
items_found++;
@ -2486,12 +2478,38 @@ static unsigned menu_displaylist_parse_cores(
menu_entries_append_enum(info->list, path, label,
enum_idx,
file_type, 0, 0);
if (file_type == FILE_TYPE_CORE)
}
string_list_free(str_list);
if (items_found == 0)
return 0;
{
enum msg_hash_enums enum_idx = MSG_UNKNOWN;
core_info_list_t *list = NULL;
const char *dir = NULL;
core_info_get_list(&list);
menu_entries_get_last_stack(&dir, NULL, NULL, &enum_idx, NULL);
list_size = file_list_get_size(info->list);
for (i = 0; i < list_size; i++)
{
unsigned type = 0;
const char *path = NULL;
menu_entries_get_at_offset(info->list,
i, &path, NULL, &type, NULL,
NULL);
if (type == FILE_TYPE_CORE)
{
size_t path_size = PATH_MAX_LENGTH * sizeof(char);
char *core_path = (char*)malloc(path_size);
char *display_name = (char*)malloc(path_size);
core_path[0] =
display_name[0] = '\0';
@ -2505,13 +2523,8 @@ static unsigned menu_displaylist_parse_cores(
free(display_name);
}
}
string_list_free(str_list);
if (items_found == 0)
return 0;
info->need_sort = true;
}
return items_found;
}