Simplify core_info_list_get_all_extensions

This commit is contained in:
Twinaphex 2015-09-14 22:44:39 +02:00
parent ad1b433d57
commit c8b041ef7d
4 changed files with 15 additions and 14 deletions

View File

@ -460,11 +460,13 @@ bool core_info_does_support_file(const core_info_t *core, const char *path)
core->supported_extensions_list, ".", path_get_extension(path)); core->supported_extensions_list, ".", path_get_extension(path));
} }
const char *core_info_list_get_all_extensions(core_info_list_t *core_info_list) const char *core_info_list_get_all_extensions(void)
{ {
if (!core_info_list) global_t *global = global_get_ptr();
return ""; core_info_list_t *list = (global->core_info.list) ? global->core_info.list : NULL;
return core_info_list->all_ext; if (!list)
return NULL;
return list->all_ext;
} }
/* qsort_r() is not in standard C, sadly. */ /* qsort_r() is not in standard C, sadly. */

View File

@ -99,7 +99,7 @@ void core_info_list_update_missing_firmware(core_info_list_t *list,
bool core_info_list_get_info(core_info_list_t *list, bool core_info_list_get_info(core_info_list_t *list,
core_info_t *info, const char *path); core_info_t *info, const char *path);
const char *core_info_list_get_all_extensions(core_info_list_t *list); const char *core_info_list_get_all_extensions(void);
bool core_info_list_get_display_name(core_info_list_t *list, bool core_info_list_get_display_name(core_info_list_t *list,
const char *path, char *buf, size_t size); const char *path, char *buf, size_t size);

View File

@ -25,7 +25,6 @@ struct string_list *dir_list_new_special(const char *input_dir, enum dir_list_ty
const char *exts = NULL; const char *exts = NULL;
bool include_dirs = false; bool include_dirs = false;
global_t *global = global_get_ptr();
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
(void)input_dir; (void)input_dir;
@ -39,7 +38,7 @@ struct string_list *dir_list_new_special(const char *input_dir, enum dir_list_ty
break; break;
case DIR_LIST_CORE_INFO: case DIR_LIST_CORE_INFO:
dir = input_dir; dir = input_dir;
exts = (global->core_info.list) ? core_info_list_get_all_extensions(global->core_info.list) : NULL; exts = core_info_list_get_all_extensions();
break; break;
case DIR_LIST_SHADERS: case DIR_LIST_SHADERS:
dir = settings->video.shader_dir; dir = settings->video.shader_dir;

View File

@ -306,7 +306,8 @@ static int general_push(menu_displaylist_info_t *info, unsigned id, unsigned typ
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr(); global_t *global = global_get_ptr();
rarch_system_info_t *system = rarch_system_info_get_ptr(); rarch_system_info_t *system = rarch_system_info_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr(); menu_handle_t *menu = menu_driver_get_ptr();
const char *exts = core_info_list_get_all_extensions();
switch (id) switch (id)
{ {
@ -327,9 +328,9 @@ static int general_push(menu_displaylist_info_t *info, unsigned id, unsigned typ
{ {
case PUSH_ARCHIVE_OPEN_DETECT_CORE: case PUSH_ARCHIVE_OPEN_DETECT_CORE:
info->setting = menu_setting_find(info->label); info->setting = menu_setting_find(info->label);
if (global->core_info.list)
strlcpy(info->exts, core_info_list_get_all_extensions( if (exts)
global->core_info.list), sizeof(info->exts)); strlcpy(info->exts, exts, sizeof(info->exts));
else if (global->menu.info.valid_extensions) else if (global->menu.info.valid_extensions)
{ {
if (*global->menu.info.valid_extensions) if (*global->menu.info.valid_extensions)
@ -363,9 +364,8 @@ static int general_push(menu_displaylist_info_t *info, unsigned id, unsigned typ
strlcpy(info->exts, system->valid_extensions, sizeof(info->exts)); strlcpy(info->exts, system->valid_extensions, sizeof(info->exts));
break; break;
case PUSH_DETECT_CORE_LIST: case PUSH_DETECT_CORE_LIST:
if (global->core_info.list) if (exts)
strlcpy(info->exts, core_info_list_get_all_extensions( strlcpy(info->exts, exts, sizeof(info->exts));
global->core_info.list), sizeof(info->exts));
break; break;
} }