diff --git a/file_list.c b/file_list.c index d96ce01a47..4449968de4 100644 --- a/file_list.c +++ b/file_list.c @@ -52,13 +52,10 @@ void file_list_push(file_list_t *list, list->list[list->size].label = strdup(label); list->list[list->size].setting = NULL; - if (label && label[0] != '\0') - { - rarch_setting_t *setting_data = (rarch_setting_t *)setting_data_get_list(); + rarch_setting_t *setting_data = (rarch_setting_t *)setting_data_get_list(); - if (setting_data) - list->list[list->size].setting = (rarch_setting_t*)setting_data_find_setting(setting_data, label); - } + if (setting_data) + list->list[list->size].setting = (rarch_setting_t*)setting_data_find_setting(setting_data, label); if (list->list[list->size].setting) list->list[list->size].path = strdup(list->list[list->size].setting->short_description); diff --git a/settings_data.c b/settings_data.c index 0b259b7607..150a6fbd1c 100644 --- a/settings_data.c +++ b/settings_data.c @@ -280,19 +280,29 @@ rarch_setting_t* setting_data_find_setting(rarch_setting_t* settings, const char rarch_setting_t *setting = NULL; if (!name) - return NULL; + goto notfound; for (setting = settings; setting->type != ST_NONE; setting++) + { if (setting->type <= ST_GROUP && strcmp(setting->name, name) == 0) + { + goto found; break; + } + } + goto notfound; +found: if (setting->short_description && setting->short_description[0] == '\0') - return NULL; + goto notfound; if (setting->read_handler) setting->read_handler(setting); return setting; + +notfound: + return NULL; } void setting_data_set_with_string_representation(const rarch_setting_t* setting, const char* value)