aboutsummaryrefslogtreecommitdiffstats
path: root/src/conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf.c')
-rw-r--r--src/conf.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/conf.c b/src/conf.c
index d1decadcd..f8ee5519a 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -449,20 +449,24 @@ bool config_get_bool(const char *name, bool default_value)
return !!value;
}
-int
-getBoolBlockParam(struct config_param *param, const char *name, int force)
+bool
+config_get_block_bool(struct config_param *param, const char *name,
+ bool default_value)
{
- int ret;
struct block_param *bp = getBlockParam(param, name);
+ int value;
- if (!bp)
- return CONF_BOOL_UNSET;
+ if (bp == NULL)
+ return default_value;
- ret = get_bool(bp->value);
- if (force && ret == CONF_BOOL_INVALID)
+ value = get_bool(bp->value);
+ if (value == CONF_BOOL_INVALID)
g_error("%s is not a boolean value (yes, true, 1) or "
"(no, false, 0) on line %i\n",
- bp->value, bp->line);
- return ret;
-}
+ name, bp->line);
+ if (value == CONF_BOOL_UNSET)
+ return default_value;
+
+ return !!value;
+}