From 54dfaaa3bce2209968b5bbf6f1e204c0f4677fce Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 26 Aug 2020 01:37:57 +0200 Subject: [PATCH] Simplify config_get_bool --- libretro-common/file/config_file.c | 36 ++++++++++++++++++------------ 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/libretro-common/file/config_file.c b/libretro-common/file/config_file.c index 910289d335..4a2e3daf65 100644 --- a/libretro-common/file/config_file.c +++ b/libretro-common/file/config_file.c @@ -1000,21 +1000,29 @@ bool config_get_bool(config_file_t *conf, const char *key, bool *in) { const struct config_entry_list *entry = config_get_entry(conf, key, NULL); - if (entry) - { - if (string_is_equal(entry->value, "true")) - *in = true; - else if (string_is_equal(entry->value, "1")) - *in = true; - else if (string_is_equal(entry->value, "false")) - *in = false; - else if (string_is_equal(entry->value, "0")) - *in = false; - else - return false; - } + if (!entry) + return false; - return entry != NULL; + if ( + ( + entry->value[0] == '1' + && entry->value[1] == '\0' + ) + || string_is_equal(entry->value, "true") + ) + *in = true; + else if ( + ( + entry->value[0] == '0' + && entry->value[1] == '\0' + ) + || string_is_equal(entry->value, "false") + ) + *in = false; + else + return false; + + return true; } void config_set_string(config_file_t *conf, const char *key, const char *val)