aboutsummaryrefslogtreecommitdiff
path: root/src/conf.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-06-19 09:02:13 +0200
committerMax Kellermann <max@duempel.org>2009-06-25 08:39:53 +0200
commit093e900d4453a9f28d442c1c24a9ba59c36b349c (patch)
tree4592849e7f0707340703096a8735024ced2992b5 /src/conf.c
parent8965b66ce4d9c4db1a8fabb386fdcad30f44b4e2 (diff)
conf: moved code from get_bool() to string_array_contains()
Diffstat (limited to 'src/conf.c')
-rw-r--r--src/conf.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/conf.c b/src/conf.c
index 18dc1252..df6a8c54 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;
}