diff --git a/ps3/salamander/main.c b/ps3/salamander/main.c index 4fdb41e40e..73522f1d8f 100644 --- a/ps3/salamander/main.c +++ b/ps3/salamander/main.c @@ -91,15 +91,26 @@ static void init_settings(void) { config_file_t * conf = config_file_new(default_paths.config_file); config_get_array(conf, "libretro_path", tmp_str, sizeof(tmp_str)); + config_file_free(conf); snprintf(libretro_path, sizeof(libretro_path), tmp_str); } if(!config_file_exists || strcmp(libretro_path, "") == 0) + { find_and_set_first_file(); + } else { RARCH_LOG("Start [%s] found in retroarch.cfg.\n", libretro_path); } + + if (!config_file_exists) + { + config_file_t *new_conf = config_file_new(NULL); + config_set_string(new_conf, "libretro_path", libretro_path); + config_file_write(new_conf, default_paths.config_file); + config_file_free(new_conf); + } } }