(menu_cbs_deferred_push.c) Minor clean-up of general_push() (#13742)

This commit is contained in:
jdgleaver 2022-03-14 17:18:07 +00:00 committed by GitHub
parent 1490ad18a2
commit 284fb6baa4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -469,30 +469,27 @@ static int general_push(menu_displaylist_info_t *info,
break; break;
case PUSH_DEFAULT: case PUSH_DEFAULT:
{ {
bool new_exts_allocated = false; const char *valid_extensions = NULL;
char *new_exts = NULL; struct retro_system_info *system = NULL;
if (menu_setting_get_browser_selection_type(info->setting) if (menu_setting_get_browser_selection_type(info->setting)
== ST_DIR) { } != ST_DIR)
else
{ {
struct retro_system_info *system = system = &runloop_state_get_ptr()->system.info;
&runloop_state_get_ptr()->system.info;
if (system && !string_is_empty(system->valid_extensions)) if (system && !string_is_empty(system->valid_extensions))
{ valid_extensions = system->valid_extensions;
new_exts = strdup(system->valid_extensions);
new_exts_allocated = true;
}
} }
if (!new_exts) if (!valid_extensions)
new_exts = info->exts; valid_extensions = info->exts;
if (!string_is_empty(new_exts)) if (!string_is_empty(valid_extensions))
{ {
struct string_list str_list3 = {0}; struct string_list str_list3 = {0};
string_list_initialize(&str_list3); string_list_initialize(&str_list3);
string_split_noalloc(&str_list3, new_exts, "|"); string_split_noalloc(&str_list3, valid_extensions, "|");
#ifdef HAVE_IBXM #ifdef HAVE_IBXM
{ {
@ -507,14 +504,6 @@ static int general_push(menu_displaylist_info_t *info,
&str_list3, "|"); &str_list3, "|");
string_list_deinitialize(&str_list3); string_list_deinitialize(&str_list3);
} }
if (new_exts_allocated)
{
free(new_exts);
if (new_exts == info->exts)
info->exts = NULL;
}
} }
break; break;
case PUSH_ARCHIVE_OPEN_DETECT_CORE: case PUSH_ARCHIVE_OPEN_DETECT_CORE:
@ -634,7 +623,7 @@ static int general_push(menu_displaylist_info_t *info,
if (!string_is_empty(newstring2)) if (!string_is_empty(newstring2))
{ {
if (!string_is_empty(info->exts)) if (info->exts)
free(info->exts); free(info->exts);
info->exts = strdup(newstring2); info->exts = strdup(newstring2);
} }