projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
carl9170 toolchain: update newlib, mpfr and binutils
[carl9170fw.git]
/
config
/
expr.c
diff --git
a/config/expr.c
b/config/expr.c
index 667d1aa237114453c28bafac618e9552405a19c4..8cee597d33a594d3d7380390aa2b697218034578 100644
(file)
--- a/
config/expr.c
+++ b/
config/expr.c
@@
-893,7
+893,10
@@
static enum string_value_kind expr_parse_string(const char *str,
switch (type) {
case S_BOOLEAN:
case S_TRISTATE:
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;
case S_INT:
val->s = strtoll(str, &tail, 10);
kind = k_signed;
@@
-1113,7
+1116,7
@@
void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *
fn(data, e->left.sym, e->left.sym->name);
else
fn(data, NULL, "<choice>");
fn(data, e->left.sym, e->left.sym->name);
else
fn(data, NULL, "<choice>");
- fn(data, NULL, e->type == E_
L
EQ ? ">=" : ">");
+ fn(data, NULL, e->type == E_
G
EQ ? ">=" : ">");
fn(data, e->right.sym, e->right.sym->name);
break;
case E_UNEQUAL:
fn(data, e->right.sym, e->right.sym->name);
break;
case E_UNEQUAL: