From 093e900d4453a9f28d442c1c24a9ba59c36b349c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 19 Jun 2009 09:02:13 +0200 Subject: conf: moved code from get_bool() to string_array_contains() --- src/conf.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/conf.c') diff --git a/src/conf.c b/src/conf.c index 18dc1252b..df6a8c546 100644 --- a/src/conf.c +++ b/src/conf.c @@ -96,20 +96,27 @@ static struct config_entry config_entries[] = { { .name = CONF_GAPLESS_MP3_PLAYBACK, false, false }, }; +static bool +string_array_contains(const char *const* array, const char *value) +{ + for (const char *const* x = array; *x; x++) + if (g_ascii_strcasecmp(*x, value) == 0) + return true; + + return false; +} + static int get_bool(const char *value) { - const char **x; static const char *t[] = { "yes", "true", "1", NULL }; static const char *f[] = { "no", "false", "0", NULL }; - for (x = t; *x; x++) { - if (!g_ascii_strcasecmp(*x, value)) - return 1; - } - for (x = f; *x; x++) { - if (!g_ascii_strcasecmp(*x, value)) - return 0; - } + if (string_array_contains(t, value)) + return true; + + if (string_array_contains(f, value)) + return false; + return CONF_BOOL_INVALID; } -- cgit v1.2.3