From f8881f7cbe0ac4ceb8f3f2a12ebaa0f41e7275fa Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 23 Apr 2019 21:06:12 +0200 Subject: [PATCH] Cleanup retroarch_validate_game_options --- retroarch.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/retroarch.c b/retroarch.c index 3f11bb98e7..a33341e22e 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1815,7 +1815,6 @@ static bool drivers_set_active(void) bool retroarch_validate_game_options(char *s, size_t len, bool mkdir) { - char *core_path = NULL; char *config_directory = NULL; size_t str_size = PATH_MAX_LENGTH * sizeof(char); const char *core_name = runloop_system.info.library_name; @@ -1824,9 +1823,8 @@ bool retroarch_validate_game_options(char *s, size_t len, bool mkdir) if (string_is_empty(core_name) || string_is_empty(game_name)) return false; - core_path = (char*)malloc(str_size); config_directory = (char*)malloc(str_size); - config_directory[0] = core_path[0] = '\0'; + config_directory[0] = '\0'; fill_pathname_application_special(config_directory, str_size, APPLICATION_SPECIAL_DIRECTORY_CONFIG); @@ -1837,13 +1835,20 @@ bool retroarch_validate_game_options(char *s, size_t len, bool mkdir) file_path_str(FILE_PATH_OPT_EXTENSION), len); - fill_pathname_join(core_path, - config_directory, core_name, str_size); + if (mkdir) + { + char *core_path = (char*)malloc(str_size); + core_path[0] = '\0'; - if (!path_is_directory(core_path) && mkdir) - path_mkdir(core_path); + fill_pathname_join(core_path, + config_directory, core_name, str_size); + + if (!path_is_directory(core_path)) + path_mkdir(core_path); + + free(core_path); + } - free(core_path); free(config_directory); return true; }