1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-05 17:58:41 +00:00

(core info) Pass pointer around to some functions

This commit is contained in:
twinaphex 2020-06-13 07:29:26 +02:00
parent 34af28461f
commit b46a316df9
3 changed files with 11 additions and 9 deletions

View File

@ -692,9 +692,8 @@ static bool core_info_list_update_missing_firmware_internal(
return true;
}
void core_info_free_current_core(void)
void core_info_free_current_core(core_info_state_t *p_coreinfo)
{
core_info_state_t *p_coreinfo = coreinfo_get_ptr();
if (p_coreinfo->current)
free(p_coreinfo->current);
p_coreinfo->current = NULL;
@ -760,10 +759,11 @@ bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info,
set_missing_bios);
}
bool core_info_load(core_info_ctx_find_t *info)
bool core_info_load(
core_info_ctx_find_t *info,
core_info_state_t *p_coreinfo)
{
core_info_t *core_info = NULL;
core_info_state_t *p_coreinfo = coreinfo_get_ptr();
if (!info)
return false;

View File

@ -166,7 +166,7 @@ void core_info_get_name(const char *path, char *s, size_t len,
core_info_t *core_info_get(core_info_list_t *list, size_t i);
void core_info_free_current_core(void);
void core_info_free_current_core(core_info_state_t *p_coreinfo);
bool core_info_init_current_core(void);
@ -184,7 +184,9 @@ bool core_info_list_update_missing_firmware(core_info_ctx_firmware_t *info,
bool core_info_find(core_info_ctx_find_t *info);
bool core_info_load(core_info_ctx_find_t *info);
bool core_info_load(
core_info_ctx_find_t *info,
core_info_state_t *p_coreinfo);
bool core_info_database_supports_content_path(const char *database_path, const char *path);

View File

@ -14328,7 +14328,7 @@ bool command_event(enum event_command cmd, void *data)
return false;
info_find.path = core_path;
if (!core_info_load(&info_find))
if (!core_info_load(&info_find, &p_rarch->core_info_st))
{
#ifdef HAVE_DYNAMIC
return false;
@ -14789,7 +14789,7 @@ bool command_event(enum event_command cmd, void *data)
break;
case CMD_EVENT_CORE_INFO_DEINIT:
core_info_deinit_list();
core_info_free_current_core();
core_info_free_current_core(&p_rarch->core_info_st);
break;
case CMD_EVENT_CORE_INFO_INIT:
{
@ -32590,7 +32590,7 @@ static void drivers_init(struct rarch_state *p_rarch, int flags)
static void driver_uninit(struct rarch_state *p_rarch, int flags)
{
core_info_deinit_list();
core_info_free_current_core();
core_info_free_current_core(&p_rarch->core_info_st);
#if defined(HAVE_GFX_WIDGETS)
/* This absolutely has to be done before video_driver_free_internal()