summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-11-30 04:15:52 -0500
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-07 20:42:42 -0500
commit0cbe3ac439bfe3e6d0f65b006044f84ce7f3e4d0 (patch)
treeed7039b735f94200671634742cceb9de4d47d27e /scripts/kconfig
parent2aabbed6774f231c57f8ae6bc4f856fb2a75cd6a (diff)
kconfig: remove k_invalid from expr_parse_string() return type
The only possibility of k_invalid being returned was when expr_parse_sting() parsed S_OTHER type symbol. This actually never happened, and this is even clearer since S_OTHER has gone. Clean up unreachable code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/kconfig')
-rw-r--r--scripts/kconfig/expr.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index e1a39e90841d..57ebf71291a7 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -980,7 +980,6 @@ enum string_value_kind {
980 k_string, 980 k_string,
981 k_signed, 981 k_signed,
982 k_unsigned, 982 k_unsigned,
983 k_invalid
984}; 983};
985 984
986union string_value { 985union string_value {
@@ -1011,13 +1010,10 @@ static enum string_value_kind expr_parse_string(const char *str,
1011 val->u = strtoull(str, &tail, 16); 1010 val->u = strtoull(str, &tail, 16);
1012 kind = k_unsigned; 1011 kind = k_unsigned;
1013 break; 1012 break;
1014 case S_STRING: 1013 default:
1015 case S_UNKNOWN:
1016 val->s = strtoll(str, &tail, 0); 1014 val->s = strtoll(str, &tail, 0);
1017 kind = k_signed; 1015 kind = k_signed;
1018 break; 1016 break;
1019 default:
1020 return k_invalid;
1021 } 1017 }
1022 return !errno && !*tail && tail > str && isxdigit(tail[-1]) 1018 return !errno && !*tail && tail > str && isxdigit(tail[-1])
1023 ? kind : k_string; 1019 ? kind : k_string;
@@ -1073,13 +1069,7 @@ tristate expr_calc_value(struct expr *e)
1073 1069
1074 if (k1 == k_string || k2 == k_string) 1070 if (k1 == k_string || k2 == k_string)
1075 res = strcmp(str1, str2); 1071 res = strcmp(str1, str2);
1076 else if (k1 == k_invalid || k2 == k_invalid) { 1072 else if (k1 == k_unsigned || k2 == k_unsigned)
1077 if (e->type != E_EQUAL && e->type != E_UNEQUAL) {
1078 printf("Cannot compare \"%s\" and \"%s\"\n", str1, str2);
1079 return no;
1080 }
1081 res = strcmp(str1, str2);
1082 } else if (k1 == k_unsigned || k2 == k_unsigned)
1083 res = (lval.u > rval.u) - (lval.u < rval.u); 1073 res = (lval.u > rval.u) - (lval.u < rval.u);
1084 else /* if (k1 == k_signed && k2 == k_signed) */ 1074 else /* if (k1 == k_signed && k2 == k_signed) */
1085 res = (lval.s > rval.s) - (lval.s < rval.s); 1075 res = (lval.s > rval.s) - (lval.s < rval.s);