diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-11-30 04:15:52 -0500 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-12-07 20:42:42 -0500 |
commit | 0cbe3ac439bfe3e6d0f65b006044f84ce7f3e4d0 (patch) | |
tree | ed7039b735f94200671634742cceb9de4d47d27e /scripts/kconfig | |
parent | 2aabbed6774f231c57f8ae6bc4f856fb2a75cd6a (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.c | 14 |
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 | ||
986 | union string_value { | 985 | union 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); |