mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Reduce stack usage
This commit is contained in:
parent
a2317bf1e1
commit
47fb82538a
@ -695,7 +695,8 @@ static int general_push(menu_displaylist_info_t *info,
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
union string_list_elem_attr attr;
|
union string_list_elem_attr attr;
|
||||||
char newstring2[PATH_MAX_LENGTH];
|
size_t path_size = PATH_MAX_LENGTH * sizeof(char);
|
||||||
|
char *newstring2 = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||||
struct string_list *str_list3 = string_split(info->exts, "|");
|
struct string_list *str_list3 = string_split(info->exts, "|");
|
||||||
|
|
||||||
newstring2[0] = '\0';
|
newstring2[0] = '\0';
|
||||||
@ -706,17 +707,19 @@ static int general_push(menu_displaylist_info_t *info,
|
|||||||
string_list_append(str_list3, "mod", attr);
|
string_list_append(str_list3, "mod", attr);
|
||||||
string_list_append(str_list3, "xm", attr);
|
string_list_append(str_list3, "xm", attr);
|
||||||
#endif
|
#endif
|
||||||
string_list_join_concat(newstring2, sizeof(newstring2),
|
string_list_join_concat(newstring2, path_size,
|
||||||
str_list3, "|");
|
str_list3, "|");
|
||||||
string_list_free(str_list3);
|
string_list_free(str_list3);
|
||||||
strlcpy(info->exts, newstring2, sizeof(info->exts));
|
strlcpy(info->exts, newstring2, sizeof(info->exts));
|
||||||
|
free(newstring2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSH_ARCHIVE_OPEN_DETECT_CORE:
|
case PUSH_ARCHIVE_OPEN_DETECT_CORE:
|
||||||
case PUSH_DETECT_CORE_LIST:
|
case PUSH_DETECT_CORE_LIST:
|
||||||
{
|
{
|
||||||
char newstring[PATH_MAX_LENGTH];
|
|
||||||
union string_list_elem_attr attr;
|
union string_list_elem_attr attr;
|
||||||
|
size_t path_size = PATH_MAX_LENGTH * sizeof(char);
|
||||||
|
char *newstring = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||||
struct string_list *str_list2 = string_list_new();
|
struct string_list *str_list2 = string_list_new();
|
||||||
|
|
||||||
newstring[0] = '\0';
|
newstring[0] = '\0';
|
||||||
@ -759,28 +762,31 @@ static int general_push(menu_displaylist_info_t *info,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
string_list_join_concat(newstring, sizeof(newstring),
|
string_list_join_concat(newstring, path_size,
|
||||||
str_list2, "|");
|
str_list2, "|");
|
||||||
|
|
||||||
strlcpy(info->exts, newstring, sizeof(info->exts));
|
strlcpy(info->exts, newstring, sizeof(info->exts));
|
||||||
|
|
||||||
{
|
{
|
||||||
union string_list_elem_attr attr;
|
union string_list_elem_attr attr;
|
||||||
char newstring2[PATH_MAX_LENGTH];
|
char *newstring2 = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||||
struct string_list *str_list3 = string_split(info->exts, "|");
|
struct string_list *str_list3 = string_split(info->exts, "|");
|
||||||
|
|
||||||
newstring2[0] = '\0';
|
newstring2[0] = '\0';
|
||||||
attr.i = 0;
|
attr.i = 0;
|
||||||
|
|
||||||
#ifdef HAVE_IBXM
|
#ifdef HAVE_IBXM
|
||||||
string_list_append(str_list3, "s3m", attr);
|
string_list_append(str_list3, "s3m", attr);
|
||||||
string_list_append(str_list3, "mod", attr);
|
string_list_append(str_list3, "mod", attr);
|
||||||
string_list_append(str_list3, "xm", attr);
|
string_list_append(str_list3, "xm", attr);
|
||||||
#endif
|
#endif
|
||||||
string_list_join_concat(newstring2, sizeof(newstring2),
|
string_list_join_concat(newstring2, path_size,
|
||||||
str_list3, "|");
|
str_list3, "|");
|
||||||
string_list_free(str_list3);
|
string_list_free(str_list3);
|
||||||
strlcpy(info->exts, newstring2, sizeof(info->exts));
|
strlcpy(info->exts, newstring2, sizeof(info->exts));
|
||||||
|
free(newstring2);
|
||||||
}
|
}
|
||||||
|
free(newstring);
|
||||||
string_list_free(str_list2);
|
string_list_free(str_list2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user