diff --git a/configuration.c b/configuration.c index 8378312fff..a03a5a00ca 100644 --- a/configuration.c +++ b/configuration.c @@ -1664,6 +1664,13 @@ static bool config_load_file(const char *path, bool set_defaults) *settings->path.libretro = '\0'; } + if (config_get_path(conf, "libretro_path", tmp_str, sizeof(tmp_str))) + { +#ifndef HAVE_DYNAMIC + strlcpy(settings->path.libretro, tmp_str, sizeof(settings->path.libretro)); +#endif + } + if (config_get_path(conf, "resampler_directory", tmp_str, sizeof(tmp_str))) strlcpy(settings->directory.resampler, tmp_str, sizeof(settings->directory.resampler)); diff --git a/frontend/drivers/platform_ps3.c b/frontend/drivers/platform_ps3.c index 0bf340b821..dcc158f8d2 100644 --- a/frontend/drivers/platform_ps3.c +++ b/frontend/drivers/platform_ps3.c @@ -209,6 +209,8 @@ static void frontend_ps3_get_environment_settings(int *argc, char *argv[], RARCH_LOG("usrDirPath : [%s].\n", g_defaults.dir.port); } + strlcpy(g_defaults.dir.content_history, + g_defaults.dir.port, sizeof(g_defaults.dir.content_history)); fill_pathname_join(g_defaults.dir.core, g_defaults.dir.port, "cores", sizeof(g_defaults.dir.core)); fill_pathname_join(g_defaults.dir.core_info, g_defaults.dir.port, diff --git a/playlist.c b/playlist.c index f68e19e049..3404540985 100644 --- a/playlist.c +++ b/playlist.c @@ -231,10 +231,22 @@ void playlist_push(playlist_t *playlist, if (string_is_empty(core_path) || string_is_empty(core_name)) { - RARCH_ERR("cannot push NULL or empty core info into the playlist.\n"); - RARCH_ERR("core_name: %s.\n", string_is_empty(core_name) ? "N/A" : core_name); - RARCH_ERR("core_path: %s.\n", string_is_empty(core_path) ? "N/A" : core_path); - return; + if (string_is_empty(core_name) && !string_is_empty(core_path)) + { + static char base_path[PATH_MAX_LENGTH] = {0}; + fill_pathname_base_noext(base_path, core_path, sizeof(base_path)); + core_name = base_path; + RARCH_LOG("core_name is now: %s\n", core_name); + } + + RARCH_LOG("core_name: %s.\n", string_is_empty(core_name) ? "N/A" : core_name); + RARCH_LOG("core_path: %s.\n", string_is_empty(core_path) ? "N/A" : core_path); + + if (string_is_empty(core_path) || string_is_empty(core_name)) + { + RARCH_ERR("cannot push NULL or empty core name into the playlist.\n"); + return; + } } if (string_is_empty(path))