1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-08 12:15:49 +00:00

(MSVC 2003) core_info - remove all_ext from heap - fixes crash with MSVC2003

and makes for easier code
This commit is contained in:
twinaphex 2019-05-05 14:23:29 +02:00
parent f349410082
commit 50a57b03a1
2 changed files with 5 additions and 20 deletions

View File

@ -45,24 +45,8 @@ static void core_info_list_resolve_all_extensions(
core_info_list_t *core_info_list)
{
size_t i = 0;
size_t all_ext_len = 0;
char *all_ext = NULL;
for (i = 0; i < core_info_list->count; i++)
{
if (core_info_list->list[i].supported_extensions)
all_ext_len +=
(strlen(core_info_list->list[i].supported_extensions) + 2);
}
all_ext_len += STRLEN_CONST("7z|") + STRLEN_CONST("zip|");
all_ext = (char*)calloc(1, all_ext_len);
if (!all_ext)
return;
core_info_list->all_ext = all_ext;
core_info_list->all_ext[0] = '\0';
for (i = 0; i < core_info_list->count; i++)
{
@ -70,7 +54,8 @@ static void core_info_list_resolve_all_extensions(
continue;
strlcat(core_info_list->all_ext,
core_info_list->list[i].supported_extensions, all_ext_len);
core_info_list->list[i].supported_extensions,
sizeof(core_info_list->all_ext));
string_concat(core_info_list->all_ext, "|");
}
#ifdef HAVE_7ZIP
@ -180,7 +165,6 @@ static void core_info_list_free(core_info_list_t *core_info_list)
free(info->firmware);
}
free(core_info_list->all_ext);
free(core_info_list->list);
free(core_info_list);
}

View File

@ -22,6 +22,7 @@
#include <lists/string_list.h>
#include <retro_common_api.h>
#include <retro_miscellaneous.h>
RETRO_BEGIN_DECLS
@ -70,7 +71,7 @@ typedef struct
{
core_info_t *list;
size_t count;
char *all_ext;
char all_ext[PATH_MAX_LENGTH];
} core_info_list_t;
typedef struct core_info_ctx_firmware