Get rid of superfluous wrapper function file_list_get_at_offset

This commit is contained in:
LibretroAdmin 2022-09-04 07:30:21 +02:00
parent 1a24bfe60c
commit dfb4b603e4
5 changed files with 48 additions and 54 deletions

View File

@ -104,10 +104,6 @@ size_t file_list_get_size(const file_list_t *list);
size_t file_list_get_directory_ptr(const file_list_t *list); size_t file_list_get_directory_ptr(const file_list_t *list);
void file_list_get_at_offset(const file_list_t *list, size_t index,
const char **path, const char **label,
unsigned *type, size_t *entry_idx);
void file_list_free_userdata(const file_list_t *list, size_t index); void file_list_free_userdata(const file_list_t *list, size_t index);
void file_list_free_actiondata(const file_list_t *list, size_t idx); void file_list_free_actiondata(const file_list_t *list, size_t idx);

View File

@ -362,23 +362,6 @@ void file_list_free_userdata(const file_list_t *list, size_t idx)
list->list[idx].userdata = NULL; list->list[idx].userdata = NULL;
} }
void file_list_get_at_offset(const file_list_t *list, size_t idx,
const char **path, const char **label, unsigned *file_type,
size_t *entry_idx)
{
if (!list)
return;
if (path)
*path = list->list[idx].path;
if (label)
*label = list->list[idx].label;
if (file_type)
*file_type = list->list[idx].type;
if (entry_idx)
*entry_idx = list->list[idx].entry_idx;
}
bool file_list_search(const file_list_t *list, const char *needle, size_t *idx) bool file_list_search(const file_list_t *list, const char *needle, size_t *idx)
{ {
size_t i; size_t i;

View File

@ -2326,7 +2326,10 @@ static int action_ok_file_load(const char *path,
} }
if (menu_stack && menu_stack->size) if (menu_stack && menu_stack->size)
file_list_get_at_offset(menu_stack, menu_stack->size - 1, &menu_path, &menu_label, NULL, NULL); {
menu_path = menu_stack->list[menu_stack->size - 1].path;
menu_label = menu_stack->list[menu_stack->size - 1].label;
}
if (!string_is_empty(menu_label)) if (!string_is_empty(menu_label))
setting = menu_setting_find(menu_label); setting = menu_setting_find(menu_label);
@ -3928,7 +3931,7 @@ static int action_ok_file_load_ffmpeg(const char *path,
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0); file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
if (menu_stack && menu_stack->size) if (menu_stack && menu_stack->size)
file_list_get_at_offset(menu_stack, menu_stack->size - 1, &menu_path, NULL, NULL, NULL); menu_path = menu_stack->list[menu_stack->size - 1].path;
if (string_is_empty(menu_path)) if (string_is_empty(menu_path))
return -1; return -1;
@ -4370,7 +4373,7 @@ static int action_ok_file_load_imageviewer(const char *path,
file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0); file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0);
if (menu_stack && menu_stack->size) if (menu_stack && menu_stack->size)
file_list_get_at_offset(menu_stack, menu_stack->size - 1, &menu_path, NULL, NULL, NULL); menu_path = menu_stack->list[menu_stack->size - 1].path;
if (!string_is_empty(menu_path)) if (!string_is_empty(menu_path))
fill_pathname_join_special(fullpath, menu_path, path, fill_pathname_join_special(fullpath, menu_path, path,
@ -5334,7 +5337,7 @@ int action_ok_close_content(const char *path, const char *label, unsigned type,
list = MENU_LIST_GET(menu_st->entries.list, 0); list = MENU_LIST_GET(menu_st->entries.list, 0);
if (list && (list->size > 1)) if (list && (list->size > 1))
{ {
file_list_get_at_offset(list, list->size - 2, NULL, &parent_label, NULL, NULL); parent_label = list->list[list->size - 2].label;
if (string_is_equal(parent_label, msg_hash_to_str(MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB)) || if (string_is_equal(parent_label, msg_hash_to_str(MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB)) ||
string_is_equal(parent_label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CONTENTLESS_CORES_LIST))) string_is_equal(parent_label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CONTENTLESS_CORES_LIST)))

View File

@ -4699,8 +4699,7 @@ static unsigned menu_displaylist_parse_content_information(
list = MENU_LIST_GET(menu_st->entries.list, 0); list = MENU_LIST_GET(menu_st->entries.list, 0);
if (list && (list->size > 2)) if (list && (list->size > 2))
{ {
file_list_get_at_offset(list, list->size - 3, NULL, origin_label = list->list[list->size - 3].label;
&origin_label, NULL, NULL);
if (string_is_equal(origin_label, msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU)) || if (string_is_equal(origin_label, msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU)) ||
string_is_equal(origin_label, msg_hash_to_str(MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB)) || string_is_equal(origin_label, msg_hash_to_str(MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB)) ||

View File

@ -399,8 +399,7 @@ void menu_entry_get(menu_entry_t *entry, size_t stack_idx,
entry->checked = cbs->checked; entry->checked = cbs->checked;
if (menu_stack && menu_stack->size) if (menu_stack && menu_stack->size)
file_list_get_at_offset(menu_stack, menu_stack->size - 1, label = menu_stack->list[menu_stack->size - 1].label;
NULL, &label, NULL, NULL);
if (entry->rich_label_enabled && cbs->action_label) if (entry->rich_label_enabled && cbs->action_label)
{ {
@ -1110,8 +1109,11 @@ int menu_entries_get_title(char *s, size_t len)
} }
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, {
&path, &label, &menu_type, NULL); path = list->list[list->size - 1].path;
label = list->list[list->size - 1].label;
menu_type = list->list[list->size - 1].type;
}
/* Show playlist entry instead of "Quick Menu" */ /* Show playlist entry instead of "Quick Menu" */
if (string_is_equal(label, "deferred_rpl_entry_actions")) if (string_is_equal(label, "deferred_rpl_entry_actions"))
@ -1154,8 +1156,7 @@ void menu_input_pointer_close_messagebox(struct menu_state *menu_st)
/* Determine whether this is a help or info /* Determine whether this is a help or info
* message box */ * message box */
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, label = list->list[list->size - 1].label;
NULL, &label, NULL, NULL);
/* Pop stack, if required */ /* Pop stack, if required */
if (menu_should_pop_stack(label)) if (menu_should_pop_stack(label))
@ -1336,17 +1337,18 @@ void menu_list_flush_stack(
size_t idx, const char *needle, unsigned final_type) size_t idx, const char *needle, unsigned final_type)
{ {
bool refresh = false; bool refresh = false;
const char *path = NULL;
const char *label = NULL; const char *label = NULL;
unsigned type = 0; unsigned type = 0;
size_t entry_idx = 0;
file_list_t *menu_list = MENU_LIST_GET(list, (unsigned)idx); file_list_t *menu_list = MENU_LIST_GET(list, (unsigned)idx);
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_contentless_cores_flush_runtime(); menu_contentless_cores_flush_runtime();
if (menu_list && menu_list->size) if (menu_list && menu_list->size)
file_list_get_at_offset(menu_list, menu_list->size - 1, &path, &label, &type, &entry_idx); {
label = menu_list->list[menu_list->size - 1].label;
type = menu_list->list[menu_list->size - 1].type;
}
while (menu_list_flush_stack_type( while (menu_list_flush_stack_type(
needle, label, type, final_type) != 0) needle, label, type, final_type) != 0)
@ -1371,7 +1373,10 @@ void menu_list_flush_stack(
menu_list = MENU_LIST_GET(list, (unsigned)idx); menu_list = MENU_LIST_GET(list, (unsigned)idx);
if (menu_list && menu_list->size) if (menu_list && menu_list->size)
file_list_get_at_offset(menu_list, menu_list->size - 1, &path, &label, &type, &entry_idx); {
label = menu_list->list[menu_list->size - 1].label;
type = menu_list->list[menu_list->size - 1].type;
}
} }
} }
@ -2407,7 +2412,11 @@ bool menu_driver_displaylist_push(
menu_displaylist_info_init(&info); menu_displaylist_info_init(&info);
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, &path, &label, &type, NULL); {
path = list->list[list->size - 1].path;
label = list->list[list->size - 1].label;
type = list->list[list->size - 1].type;
}
if (cbs) if (cbs)
enum_idx = cbs->enum_idx; enum_idx = cbs->enum_idx;
@ -2520,7 +2529,7 @@ void menu_cbs_init(
#endif #endif
if (menu_list && menu_list->size) if (menu_list && menu_list->size)
file_list_get_at_offset(menu_list, menu_list->size - 1, NULL, &menu_label, NULL, NULL); menu_label = menu_list->list[menu_list->size - 1].label;
if (!label || !menu_label) if (!label || !menu_label)
return; return;
@ -4141,7 +4150,16 @@ void menu_entries_get_last_stack(const char **path, const char **label,
list = MENU_LIST_GET(menu_st->entries.list, 0); list = MENU_LIST_GET(menu_st->entries.list, 0);
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, path, label, file_type, entry_idx); {
if (path)
*path = list->list[list->size - 1].path;
if (label)
*label = list->list[list->size - 1].label;
if (file_type)
*file_type = list->list[list->size - 1].type;
if (entry_idx)
*entry_idx = list->list[list->size - 1].entry_idx;
}
if (enum_idx) if (enum_idx)
{ {
@ -4218,8 +4236,10 @@ void menu_input_search_cb(void *userdata, const char *str)
* viewing a menu list with 'search * viewing a menu list with 'search
* filter' support */ * filter' support */
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, {
NULL, &label, &type, NULL); label = list->list[list->size - 1].label;
type = list->list[list->size - 1].type;
}
/* Do not apply search filter if string /* Do not apply search filter if string
* consists of a single Latin alphabet * consists of a single Latin alphabet
@ -4373,9 +4393,7 @@ bool menu_entries_append(
file_list_append(list, path, label, type, directory_ptr, entry_idx); file_list_append(list, path, label, type, directory_ptr, entry_idx);
if (mlist && mlist->size) if (mlist && mlist->size)
file_list_get_at_offset(mlist, mlist->size - 1, menu_path = mlist->list[mlist->size - 1].path;
&menu_path, NULL, NULL, NULL);
idx = list->size - 1; idx = list->size - 1;
list_info.fullpath = NULL; list_info.fullpath = NULL;
@ -4468,8 +4486,7 @@ void menu_entries_prepend(file_list_t *list,
file_list_insert(list, path, label, type, directory_ptr, entry_idx, 0); file_list_insert(list, path, label, type, directory_ptr, entry_idx, 0);
if (mlist && mlist->size) if (mlist && mlist->size)
file_list_get_at_offset(mlist, mlist->size -1, menu_path = mlist->list[mlist->size - 1].path;
&menu_path, NULL, NULL, NULL);
list_info.fullpath = NULL; list_info.fullpath = NULL;
@ -7360,13 +7377,12 @@ static int generic_menu_iterate(
unsigned accessibility_narrator_speech_speed = settings->uints.accessibility_narrator_speech_speed; unsigned accessibility_narrator_speech_speed = settings->uints.accessibility_narrator_speech_speed;
#endif #endif
enum action_iterate_type iterate_type; enum action_iterate_type iterate_type;
unsigned file_type = 0;
int ret = 0; int ret = 0;
const char *label = NULL; const char *label = NULL;
file_list_t *list = MENU_LIST_GET(menu_st->entries.list, 0); file_list_t *list = MENU_LIST_GET(menu_st->entries.list, 0);
if (list && list->size) if (list && list->size)
file_list_get_at_offset(list, list->size - 1, NULL, &label, &file_type, NULL); label = list->list[list->size - 1].label;
menu->menu_state_msg[0] = '\0'; menu->menu_state_msg[0] = '\0';
@ -8053,11 +8069,8 @@ int generic_menu_entry_action(
* find a known reference point */ * find a known reference point */
while (menu_stack && (menu_stack->size >= stack_offset)) while (menu_stack && (menu_stack->size >= stack_offset))
{ {
const char *parent_label = NULL; const char *parent_label = menu_stack->list[
menu_stack->size - stack_offset].label;
file_list_get_at_offset(menu_stack,
menu_stack->size - stack_offset,
NULL, &parent_label, NULL, NULL);
if (string_is_empty(parent_label)) if (string_is_empty(parent_label))
continue; continue;