From 5894da87594b42baa126cb2a348524cad47f69e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Orkun=20=C5=9Eensebat?= Date: Tue, 7 Apr 2015 00:42:11 +0200 Subject: [PATCH 1/3] First test if global is set before testing its members --- configuration.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/configuration.c b/configuration.c index 6eee97756a..0ae21657ab 100644 --- a/configuration.c +++ b/configuration.c @@ -1654,6 +1654,12 @@ bool config_load_override(void) global_t *global = global_get_ptr(); /* global pointer */ settings_t *settings = config_get_ptr(); /* config pointer */ + if (!global || !settings ) + { + RARCH_ERR("Could not obtain global pointer or configuration file pointer to retrieve path of retroarch.cfg.\n"); + return false; + } + //early return in case a library isn't loaded if(!global->system.info.library_name || !strcmp(global->system.info.library_name,"No Core")) return true; @@ -1661,12 +1667,6 @@ bool config_load_override(void) RARCH_LOG("Game name: %s\n",global->basename); RARCH_LOG("Core name: %s\n",global->system.info.library_name); - if (!global || !settings ) - { - RARCH_ERR("Could not obtain global pointer or configuration file pointer to retrieve path of retroarch.cfg.\n"); - return false; - } - /* Config directory: config_directory. */ if (settings->menu_config_directory) /* Try RGUI path setting first */ strlcpy(config_directory, settings->menu_config_directory, PATH_MAX_LENGTH); From 793080b0c134ae488d53db30665426f5276217f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Orkun=20=C5=9Eensebat?= Date: Tue, 7 Apr 2015 00:48:46 +0200 Subject: [PATCH 2/3] Add log output in case no library loaded when trying to use override --- configuration.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configuration.c b/configuration.c index 0ae21657ab..3f1358414a 100644 --- a/configuration.c +++ b/configuration.c @@ -1662,7 +1662,10 @@ bool config_load_override(void) //early return in case a library isn't loaded if(!global->system.info.library_name || !strcmp(global->system.info.library_name,"No Core")) + { + RARCH_LOG("No library loaded, not using overrides.\n"); return true; + } RARCH_LOG("Game name: %s\n",global->basename); RARCH_LOG("Core name: %s\n",global->system.info.library_name); From 85db635fbf0e203f603cc46abe704696c8bfd8b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Orkun=20=C5=9Eensebat?= Date: Tue, 7 Apr 2015 00:51:47 +0200 Subject: [PATCH 3/3] Made tests in override function more consistent --- configuration.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/configuration.c b/configuration.c index 3f1358414a..3f23b18551 100644 --- a/configuration.c +++ b/configuration.c @@ -1661,7 +1661,7 @@ bool config_load_override(void) } //early return in case a library isn't loaded - if(!global->system.info.library_name || !strcmp(global->system.info.library_name,"No Core")) + if (!global->system.info.library_name || !strcmp(global->system.info.library_name,"No Core")) { RARCH_LOG("No library loaded, not using overrides.\n"); return true; @@ -1723,25 +1723,22 @@ bool config_load_override(void) /* Append game-specific */ if (new_conf) { - if(should_append) + if (should_append) { strlcat(global->append_config_path, "|", sizeof(global->append_config_path)); strlcat(global->append_config_path, game_path, sizeof(global->append_config_path)); } else strlcpy(global->append_config_path, game_path, sizeof(global->append_config_path)); - RARCH_LOG("Game-specific configuration found at %s. Appending.\n", game_path); + RARCH_LOG("Game-specific configuration found at %s. Appending.\n", game_path); should_append = true; } else RARCH_LOG("No game-specific configuration found at %s.\n", game_path); - if(should_append) - { - if(!config_load_file(global->config_path, false)) - return false; - } + if (should_append && !config_load_file(global->config_path, false)) + return false; return true; /* only means no errors were caught */ }