diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 4f48571273dc..5a0ea1e49508 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -4008,10 +4008,10 @@ static int action_ok_path_manual_scan_directory(const char *path, * can start with /private and this ensures the path starts with it. * This will allow the path to be properly substituted when * fill_pathname_expand_special() is called. */ - char real_content_dir[PATH_MAX_LENGTH]; - real_content_dir[0] = '\0'; - realpath(content_dir, real_content_dir); - strlcpy(content_dir, real_content_dir, sizeof(content_dir)); + char tmp_dir[PATH_MAX_LENGTH]; + tmp_dir[0] = '\0'; + fill_pathname_expand_special(tmp_dir, content_dir, sizeof(content_dir)); + realpath(tmp_dir, content_dir); } #endif diff --git a/menu/cbs/menu_cbs_scan.c b/menu/cbs/menu_cbs_scan.c index ca17949f16c4..507672657439 100644 --- a/menu/cbs/menu_cbs_scan.c +++ b/menu/cbs/menu_cbs_scan.c @@ -57,6 +57,12 @@ int action_scan_file(const char *path, menu_entries_get_last_stack(&menu_path, NULL, NULL, NULL, NULL); +#if IOS + char dir_path[PATH_MAX_LENGTH]; + fill_pathname_expand_special(dir_path, menu_path, sizeof(dir_path)); + menu_path = dir_path; +#endif + fill_pathname_join_special(fullpath, menu_path, path, sizeof(fullpath)); task_push_dbscan( @@ -81,6 +87,12 @@ int action_scan_directory(const char *path, menu_entries_get_last_stack(&menu_path, NULL, NULL, NULL, NULL); +#if IOS + char dir_path[PATH_MAX_LENGTH]; + fill_pathname_expand_special(dir_path, menu_path, sizeof(dir_path)); + menu_path = dir_path; +#endif + if (path) fill_pathname_join_special(fullpath, menu_path, path, sizeof(fullpath)); else