X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=config%2Fexpr.c;h=ee23ebc881a67e08f592606c5e1d53929eb362d4;hb=f720180e344a0bb69a7920d717b32ce4e163a10b;hp=cbf4996dd9c1045ecc7ffa66a9ec79edd99b1038;hpb=c52eb54d149eb1cd045029dea93ff6ea390c73c5;p=carl9170fw.git diff --git a/config/expr.c b/config/expr.c index cbf4996..ee23ebc 100644 --- a/config/expr.c +++ b/config/expr.c @@ -113,7 +113,7 @@ void expr_free(struct expr *e) break; case E_NOT: expr_free(e->left.expr); - return; + break; case E_EQUAL: case E_GEQ: case E_GTH: @@ -893,7 +893,10 @@ static enum string_value_kind expr_parse_string(const char *str, switch (type) { case S_BOOLEAN: case S_TRISTATE: - return k_string; + val->s = !strcmp(str, "n") ? 0 : + !strcmp(str, "m") ? 1 : + !strcmp(str, "y") ? 2 : -1; + return k_signed; case S_INT: val->s = strtoll(str, &tail, 10); kind = k_signed;