From 3f88a49bdca7fd066f959187959cb6a844148caa Mon Sep 17 00:00:00 2001 From: radius Date: Mon, 4 Nov 2019 01:03:20 -0500 Subject: [PATCH] linux frontend: add proper drives --- frontend/drivers/platform_unix.c | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c index 4aaee2384f..185fdc2947 100644 --- a/frontend/drivers/platform_unix.c +++ b/frontend/drivers/platform_unix.c @@ -1964,6 +1964,50 @@ static int frontend_unix_parse_drive_list(void *data, bool load_content) enum_idx, FILE_TYPE_DIRECTORY, 0, 0); } +#else + char base_path[PATH_MAX] = {0}; + const char *xdg = getenv("XDG_CONFIG_HOME"); + const char *home = getenv("HOME"); + + if (xdg) + { + strlcpy(base_path, xdg, sizeof(base_path)); + strlcat(base_path, "/retroarch", sizeof(base_path)); + } + else if (home) + { + strlcpy(base_path, home, sizeof(base_path)); + strlcat(base_path, "/.config/retroarch", sizeof(base_path)); + } + + if(!string_is_empty(base_path)) + { + menu_entries_append_enum(list, base_path, + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + enum_idx, + FILE_TYPE_DIRECTORY, 0, 0); + } + if (!string_is_empty(home)) + { + menu_entries_append_enum(list, home, + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + enum_idx, + FILE_TYPE_DIRECTORY, 0, 0); + } + if (path_is_directory("/media")) + { + menu_entries_append_enum(list, "/media", + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + enum_idx, + FILE_TYPE_DIRECTORY, 0, 0); + } + if (path_is_directory("/mnt")) + { + menu_entries_append_enum(list, "/mnt", + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + enum_idx, + FILE_TYPE_DIRECTORY, 0, 0); + } #endif menu_entries_append_enum(list, "/",