diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 3f486b3a59..cacd5b13f3 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -2512,7 +2512,7 @@ static int action_ok_option_create(const char *path, runloop_msg_queue_push( msg_hash_to_str(MSG_CORE_OPTIONS_FILE_CREATED_SUCCESSFULLY), 1, 100, true); - path_set_core_options(game_path); + path_set(RARCH_PATH_CORE_OPTIONS, game_path); } config_file_free(conf); diff --git a/paths.c b/paths.c index 8e1e25a33f..6803071766 100644 --- a/paths.c +++ b/paths.c @@ -212,7 +212,7 @@ void path_set_basename(const char *path) { char *dst = NULL; - path_set_content(path); + path_set(RARCH_PATH_CONTENT, path); strlcpy(path_main_basename, path, sizeof(path_main_basename)); @@ -502,17 +502,28 @@ void path_set_core(const char *path) strlcpy(path_libretro, path, sizeof(path_libretro)); } -void path_set(enum rarch_path_type type, const char *path) +bool path_set(enum rarch_path_type type, const char *path) { + if (!path) + return false; + switch (type) { case RARCH_PATH_SUBSYSTEM: strlcpy(subsystem_path, path, sizeof(subsystem_path)); break; + case RARCH_PATH_CORE_OPTIONS: + strlcpy(path_core_options_file, path, sizeof(path_core_options_file)); + break; + case RARCH_PATH_CONTENT: + strlcpy(path_content, path, sizeof(path_content)); + break; default: case RARCH_PATH_NONE: break; } + + return true; } void path_clear_subsystem(void) @@ -603,10 +614,6 @@ bool path_set_default_shader_preset(const char *preset) return true; } -void path_set_core_options(const char *path) -{ - strlcpy(path_core_options_file, path, sizeof(path_core_options_file)); -} const char *path_get_core_options(void) { @@ -636,13 +643,6 @@ void path_clear_content(void) *path_content = '\0'; } -bool path_set_content(const char *path) -{ - if (!path) - return false; - strlcpy(path_content, path, sizeof(path_content)); - return true; -} void path_set_config_append(const char *path) { diff --git a/paths.h b/paths.h index 393ba9b249..19a6365452 100644 --- a/paths.h +++ b/paths.h @@ -34,6 +34,8 @@ enum rarch_content_type enum rarch_path_type { RARCH_PATH_NONE = 0, + RARCH_PATH_CONTENT, + RARCH_PATH_CORE_OPTIONS, RARCH_PATH_SUBSYSTEM }; @@ -49,12 +51,10 @@ void path_fill_names(void); /* set functions */ -void path_set(enum rarch_path_type type, const char *path); +bool path_set(enum rarch_path_type type, const char *path); void path_set_redirect(void); -bool path_set_content(const char *path); - void path_set_names(const char *path); void path_set_special(char **argv, unsigned num_content); diff --git a/tasks/task_content.c b/tasks/task_content.c index a48bed0786..292b417ec7 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -1004,7 +1004,7 @@ static bool command_event_cmd_exec(const char *data, { path_clear_content(); if (!string_is_empty(data)) - path_set_content(data); + path_set(RARCH_PATH_CONTENT, data); } #if defined(HAVE_DYNAMIC) @@ -1105,7 +1105,7 @@ bool task_push_content_load_default( case CONTENT_MODE_LOAD_CONTENT_WITH_FFMPEG_CORE_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU: case CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_MENU: - path_set_content(fullpath); + path_set(RARCH_PATH_CONTENT, fullpath); break; default: break;