diff options
Diffstat (limited to 'scripts/parse_kconfig/boolexpr.c')
-rw-r--r-- | scripts/parse_kconfig/boolexpr.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/parse_kconfig/boolexpr.c b/scripts/parse_kconfig/boolexpr.c index ccd7cef..4ce4154 100644 --- a/scripts/parse_kconfig/boolexpr.c +++ b/scripts/parse_kconfig/boolexpr.c @@ -113,11 +113,17 @@ struct boolexpr *boolexpr_sym(struct symlist *sl, struct symbol *sym) { struct boolexpr *rtn; rtn = malloc(sizeof(struct boolexpr)); rtn->overusage = 0; - rtn->id = symlist_id(sl, sym->name); - if (rtn->id != 0) - rtn->type = BT_SYM; - else - rtn->type = BT_FALSE; + if (!strcmp(sym->name, "m") || !strcmp(sym->name, "n")) { + rtn->type = BT_FALSE; + } else if (!strcmp(sym->name, "y")) { + rtn->type = BT_TRUE; + } else { + rtn->id = symlist_id(sl, sym->name); + if (rtn->id != 0) + rtn->type = BT_SYM; + else + rtn->type = BT_FALSE; + } return rtn; } |