Skip to content
KvConfigGetBool

KvConfigGetBool

Description

Parse and fetch a boolean config value.

Accepted values: true, false, yes, no, on, off, 1, 0.

Parameters

Name Direction Description
cfg in,out Parsed config.
key in Lookup key. Prefer Str *; Zstr accepted.
value out Parsed boolean.

Success

true if key exists and value is a valid boolean.

Failure

false

Usage example (Cross-references)

Usage examples (Cross-references)
        (void)KvConfigParse(input, &cfg);
    
        result = result && KvConfigGetBool(&cfg, "flag", &v);
        // Compare to the literal `true`, so 42 != (bool)true would be caught
        // only if the store survives as a wider value; primarily this pins
        result = result && host && StrCmp(host, "localhost") == 0;
        result = result && KvConfigGetI64(&cfg, "port", &port) && (port == 8080);
        result = result && KvConfigGetBool(&cfg, "debug", &debug) && debug;
    
        StrDeinit(&src);
        result = result && KvConfigGetI64(&cfg, "workers", &workers) && (workers == 16);
        result = result && KvConfigGetF64(&cfg, "pi", &pi) && (pi > 3.1415 && pi < 3.1416);
        result = result && KvConfigGetBool(&cfg, "enabled", &enabled) && enabled;
        result = result && KvConfigGetBool(&cfg, "disabled", &disabled) && !disabled;
        result = result && !KvConfigGetBool(&cfg, "invalid_bool", &enabled);
        result = result && KvConfigGetF64(&cfg, "pi", &pi) && (pi > 3.1415 && pi < 3.1416);
        result = result && KvConfigGetBool(&cfg, "enabled", &enabled) && enabled;
        result = result && KvConfigGetBool(&cfg, "disabled", &disabled) && !disabled;
        result = result && !KvConfigGetBool(&cfg, "invalid_bool", &enabled);
        result = result && !KvConfigGetI64(&cfg, "pi", &workers);
        result = result && KvConfigGetBool(&cfg, "enabled", &enabled) && enabled;
        result = result && KvConfigGetBool(&cfg, "disabled", &disabled) && !disabled;
        result = result && !KvConfigGetBool(&cfg, "invalid_bool", &enabled);
        result = result && !KvConfigGetI64(&cfg, "pi", &workers);
        result = result && !KvConfigGetF64(&cfg, "missing", &pi);
    
        result = result && (StrIterIndex(&si) == 0);
        result = result && KvConfigGetBool(&cfg, "valid", &enabled) && enabled;
        result = result && !KvConfigContains(&cfg, "later");
        for (u64 i = 0; i < 4; i++) {
            v      = false;
            result = result && KvConfigGetBool(&cfg, trues[i], &v) && v;
        }
        for (u64 i = 0; i < 4; i++) {
        for (u64 i = 0; i < 4; i++) {
            v      = true;
            result = result && KvConfigGetBool(&cfg, falses[i], &v) && !v;
        }
        // A non-boolean spelling is rejected.
        }
        // A non-boolean spelling is rejected.
        result = result && !KvConfigGetBool(&cfg, "bad", &v);
    
        StrDeinit(&src);
        result       = result && KvConfigGetI64(&cfg, &k_workers, &workers) && (workers == 16);
        result       = result && KvConfigGetF64(&cfg, &k_ratio, &ratio) && (ratio > 0.24 && ratio < 0.26);
        result       = result && KvConfigGetBool(&cfg, &k_enabled, &en) && en;
    
        StrDeinit(&k_name);
Last updated on