From 118a90b800a4cf9367b0f5e7b7921b82eccbb91c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 19 Sep 2016 00:56:00 +0200 Subject: [PATCH] Move dir_check_defaults to dirs.c --- dirs.c | 72 +++++++++++++++++++++++++++++++++++++++++++ dirs.h | 2 ++ tasks/task_content.c | 73 +------------------------------------------- 3 files changed, 75 insertions(+), 72 deletions(-) diff --git a/dirs.c b/dirs.c index eabaadf7ff..374b24960b 100644 --- a/dirs.c +++ b/dirs.c @@ -22,6 +22,7 @@ #include #include "dirs.h" +#include "defaults.h" static char dir_osk_overlay[PATH_MAX_LENGTH] = {0}; static char dir_system[PATH_MAX_LENGTH] = {0}; @@ -171,3 +172,74 @@ void dir_set_savefile(const char *path) strlcpy(dir_savefile, path, sizeof(dir_savefile)); } + +static void check_defaults_dir_create_dir(const char *path) +{ + char new_path[PATH_MAX_LENGTH] = {0}; + fill_pathname_expand_special(new_path, + path, sizeof(new_path)); + + if (path_is_directory(new_path)) + return; + path_mkdir(new_path); +} + +void dir_check_defaults(void) +{ + /* early return for people with a custom folder setup + so it doesn't create unnecessary directories + */ + if (path_file_exists("custom.ini")) + return; + + if (!string_is_empty(g_defaults.dir.core_assets)) + check_defaults_dir_create_dir(g_defaults.dir.core_assets); + if (!string_is_empty(g_defaults.dir.remap)) + check_defaults_dir_create_dir(g_defaults.dir.remap); + if (!string_is_empty(g_defaults.dir.screenshot)) + check_defaults_dir_create_dir(g_defaults.dir.screenshot); + if (!string_is_empty(g_defaults.dir.core)) + check_defaults_dir_create_dir(g_defaults.dir.core); + if (!string_is_empty(g_defaults.dir.autoconfig)) + check_defaults_dir_create_dir(g_defaults.dir.autoconfig); + if (!string_is_empty(g_defaults.dir.audio_filter)) + check_defaults_dir_create_dir(g_defaults.dir.audio_filter); + if (!string_is_empty(g_defaults.dir.video_filter)) + check_defaults_dir_create_dir(g_defaults.dir.video_filter); + if (!string_is_empty(g_defaults.dir.assets)) + check_defaults_dir_create_dir(g_defaults.dir.assets); + if (!string_is_empty(g_defaults.dir.playlist)) + check_defaults_dir_create_dir(g_defaults.dir.playlist); + if (!string_is_empty(g_defaults.dir.core)) + check_defaults_dir_create_dir(g_defaults.dir.core); + if (!string_is_empty(g_defaults.dir.core_info)) + check_defaults_dir_create_dir(g_defaults.dir.core_info); + if (!string_is_empty(g_defaults.dir.overlay)) + check_defaults_dir_create_dir(g_defaults.dir.overlay); + if (!string_is_empty(g_defaults.dir.port)) + check_defaults_dir_create_dir(g_defaults.dir.port); + if (!string_is_empty(g_defaults.dir.shader)) + check_defaults_dir_create_dir(g_defaults.dir.shader); + if (!string_is_empty(g_defaults.dir.savestate)) + check_defaults_dir_create_dir(g_defaults.dir.savestate); + if (!string_is_empty(g_defaults.dir.sram)) + check_defaults_dir_create_dir(g_defaults.dir.sram); + if (!string_is_empty(g_defaults.dir.system)) + check_defaults_dir_create_dir(g_defaults.dir.system); + if (!string_is_empty(g_defaults.dir.resampler)) + check_defaults_dir_create_dir(g_defaults.dir.resampler); + if (!string_is_empty(g_defaults.dir.menu_config)) + check_defaults_dir_create_dir(g_defaults.dir.menu_config); + if (!string_is_empty(g_defaults.dir.content_history)) + check_defaults_dir_create_dir(g_defaults.dir.content_history); + if (!string_is_empty(g_defaults.dir.cache)) + check_defaults_dir_create_dir(g_defaults.dir.cache); + if (!string_is_empty(g_defaults.dir.database)) + check_defaults_dir_create_dir(g_defaults.dir.database); + if (!string_is_empty(g_defaults.dir.cursor)) + check_defaults_dir_create_dir(g_defaults.dir.cursor); + if (!string_is_empty(g_defaults.dir.cheats)) + check_defaults_dir_create_dir(g_defaults.dir.cheats); + if (!string_is_empty(g_defaults.dir.thumbnails)) + check_defaults_dir_create_dir(g_defaults.dir.thumbnails); +} diff --git a/dirs.h b/dirs.h index b8296c1b5b..d97a156533 100644 --- a/dirs.h +++ b/dirs.h @@ -85,6 +85,8 @@ void dir_set_savestate(const char *path); void dir_set_system(const char *path); +void dir_check_defaults(void); + RETRO_END_DECLS #endif diff --git a/tasks/task_content.c b/tasks/task_content.c index 14ea96e07f..f092d9f296 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -131,77 +131,6 @@ static int content_file_read(const char *path, void **buf, ssize_t *length) return filestream_read_file(path, buf, length); } -static void check_defaults_dir_create_dir(const char *path) -{ - char new_path[PATH_MAX_LENGTH] = {0}; - fill_pathname_expand_special(new_path, - path, sizeof(new_path)); - - if (path_is_directory(new_path)) - return; - path_mkdir(new_path); -} - -static void check_default_dirs(void) -{ - /* early return for people with a custom folder setup - so it doesn't create unnecessary directories - */ - if (path_file_exists("custom.ini")) - return; - - if (!string_is_empty(g_defaults.dir.core_assets)) - check_defaults_dir_create_dir(g_defaults.dir.core_assets); - if (!string_is_empty(g_defaults.dir.remap)) - check_defaults_dir_create_dir(g_defaults.dir.remap); - if (!string_is_empty(g_defaults.dir.screenshot)) - check_defaults_dir_create_dir(g_defaults.dir.screenshot); - if (!string_is_empty(g_defaults.dir.core)) - check_defaults_dir_create_dir(g_defaults.dir.core); - if (!string_is_empty(g_defaults.dir.autoconfig)) - check_defaults_dir_create_dir(g_defaults.dir.autoconfig); - if (!string_is_empty(g_defaults.dir.audio_filter)) - check_defaults_dir_create_dir(g_defaults.dir.audio_filter); - if (!string_is_empty(g_defaults.dir.video_filter)) - check_defaults_dir_create_dir(g_defaults.dir.video_filter); - if (!string_is_empty(g_defaults.dir.assets)) - check_defaults_dir_create_dir(g_defaults.dir.assets); - if (!string_is_empty(g_defaults.dir.playlist)) - check_defaults_dir_create_dir(g_defaults.dir.playlist); - if (!string_is_empty(g_defaults.dir.core)) - check_defaults_dir_create_dir(g_defaults.dir.core); - if (!string_is_empty(g_defaults.dir.core_info)) - check_defaults_dir_create_dir(g_defaults.dir.core_info); - if (!string_is_empty(g_defaults.dir.overlay)) - check_defaults_dir_create_dir(g_defaults.dir.overlay); - if (!string_is_empty(g_defaults.dir.port)) - check_defaults_dir_create_dir(g_defaults.dir.port); - if (!string_is_empty(g_defaults.dir.shader)) - check_defaults_dir_create_dir(g_defaults.dir.shader); - if (!string_is_empty(g_defaults.dir.savestate)) - check_defaults_dir_create_dir(g_defaults.dir.savestate); - if (!string_is_empty(g_defaults.dir.sram)) - check_defaults_dir_create_dir(g_defaults.dir.sram); - if (!string_is_empty(g_defaults.dir.system)) - check_defaults_dir_create_dir(g_defaults.dir.system); - if (!string_is_empty(g_defaults.dir.resampler)) - check_defaults_dir_create_dir(g_defaults.dir.resampler); - if (!string_is_empty(g_defaults.dir.menu_config)) - check_defaults_dir_create_dir(g_defaults.dir.menu_config); - if (!string_is_empty(g_defaults.dir.content_history)) - check_defaults_dir_create_dir(g_defaults.dir.content_history); - if (!string_is_empty(g_defaults.dir.cache)) - check_defaults_dir_create_dir(g_defaults.dir.cache); - if (!string_is_empty(g_defaults.dir.database)) - check_defaults_dir_create_dir(g_defaults.dir.database); - if (!string_is_empty(g_defaults.dir.cursor)) - check_defaults_dir_create_dir(g_defaults.dir.cursor); - if (!string_is_empty(g_defaults.dir.cheats)) - check_defaults_dir_create_dir(g_defaults.dir.cheats); - if (!string_is_empty(g_defaults.dir.thumbnails)) - check_defaults_dir_create_dir(g_defaults.dir.thumbnails); -} - bool content_push_to_history_playlist( void *data, const char *path, @@ -359,7 +288,7 @@ static bool content_load(content_ctx_info_t *info) command_event(CMD_EVENT_RESUME, NULL); command_event(CMD_EVENT_VIDEO_SET_ASPECT_RATIO, NULL); - check_default_dirs(); + dir_check_defaults(); frontend_driver_process_args(rarch_argc_ptr, rarch_argv_ptr); frontend_driver_content_loaded();