The outer switch statement can be avoided by continue'ing earlier the
loop when the symbol type is neither S_BOOLEAN nor S_TRISTATE.
Remove it to reduce the indentation level by one. In addition, avoid
the repetition of sym->def[S_DEF_USER].tri.
No functional change intended.
Signed-off-by: Masahiro Yamada <[email protected]>
---
scripts/kconfig/conf.c | 61 +++++++++++++++++++++---------------------
1 file changed, 30 insertions(+), 31 deletions(-)
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 9a20e9e9bdad..cf8193fc00fc 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -218,43 +218,42 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode)
}
for_all_symbols(sym) {
- if (sym_has_value(sym) || sym->flags & SYMBOL_VALID)
+ tristate val;
+
+ if (sym_has_value(sym) || sym->flags & SYMBOL_VALID ||
+ (sym->type != S_BOOLEAN && sym->type != S_TRISTATE))
continue;
- switch (sym_get_type(sym)) {
- case S_BOOLEAN:
- case S_TRISTATE:
- has_changed = true;
- switch (mode) {
- case def_yes:
- sym->def[S_DEF_USER].tri = yes;
- break;
- case def_mod:
- sym->def[S_DEF_USER].tri = mod;
- break;
- case def_no:
- sym->def[S_DEF_USER].tri = no;
- break;
- case def_random:
- sym->def[S_DEF_USER].tri = no;
- cnt = rand() % 100;
- if (sym->type == S_TRISTATE) {
- if (cnt < pty)
- sym->def[S_DEF_USER].tri = yes;
- else if (cnt < pty + ptm)
- sym->def[S_DEF_USER].tri = mod;
- } else if (cnt < pby)
- sym->def[S_DEF_USER].tri = yes;
- break;
- default:
- continue;
+
+ has_changed = true;
+ switch (mode) {
+ case def_yes:
+ val = yes;
+ break;
+ case def_mod:
+ val = mod;
+ break;
+ case def_no:
+ val = no;
+ break;
+ case def_random:
+ val = no;
+ cnt = rand() % 100;
+ if (sym->type == S_TRISTATE) {
+ if (cnt < pty)
+ val = yes;
+ else if (cnt < pty + ptm)
+ val = mod;
+ } else if (cnt < pby) {
+ val = yes;
}
- if (!(sym_is_choice(sym) && mode == def_random))
- sym->flags |= SYMBOL_DEF_USER;
break;
default:
- break;
+ continue;
}
+ sym->def[S_DEF_USER].tri = val;
+ if (!(sym_is_choice(sym) && mode == def_random))
+ sym->flags |= SYMBOL_DEF_USER;
}
sym_clear_all_valid();
--
2.40.1
On Sun, Jun 02, 2024 at 09:54:15PM +0900 Masahiro Yamada wrote:
> The outer switch statement can be avoided by continue'ing earlier the
> loop when the symbol type is neither S_BOOLEAN nor S_TRISTATE.
>
> Remove it to reduce the indentation level by one. In addition, avoid
> the repetition of sym->def[S_DEF_USER].tri.
>
> No functional change intended.
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---
>
> scripts/kconfig/conf.c | 61 +++++++++++++++++++++---------------------
> 1 file changed, 30 insertions(+), 31 deletions(-)
>
> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
> index 9a20e9e9bdad..cf8193fc00fc 100644
> --- a/scripts/kconfig/conf.c
> +++ b/scripts/kconfig/conf.c
> @@ -218,43 +218,42 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode)
> }
>
> for_all_symbols(sym) {
> - if (sym_has_value(sym) || sym->flags & SYMBOL_VALID)
> + tristate val;
> +
> + if (sym_has_value(sym) || sym->flags & SYMBOL_VALID ||
> + (sym->type != S_BOOLEAN && sym->type != S_TRISTATE))
> continue;
> - switch (sym_get_type(sym)) {
> - case S_BOOLEAN:
> - case S_TRISTATE:
> - has_changed = true;
> - switch (mode) {
> - case def_yes:
> - sym->def[S_DEF_USER].tri = yes;
> - break;
> - case def_mod:
> - sym->def[S_DEF_USER].tri = mod;
> - break;
> - case def_no:
> - sym->def[S_DEF_USER].tri = no;
> - break;
> - case def_random:
> - sym->def[S_DEF_USER].tri = no;
> - cnt = rand() % 100;
> - if (sym->type == S_TRISTATE) {
> - if (cnt < pty)
> - sym->def[S_DEF_USER].tri = yes;
> - else if (cnt < pty + ptm)
> - sym->def[S_DEF_USER].tri = mod;
> - } else if (cnt < pby)
> - sym->def[S_DEF_USER].tri = yes;
> - break;
> - default:
> - continue;
> +
> + has_changed = true;
> + switch (mode) {
> + case def_yes:
> + val = yes;
> + break;
> + case def_mod:
> + val = mod;
> + break;
> + case def_no:
> + val = no;
> + break;
> + case def_random:
> + val = no;
> + cnt = rand() % 100;
> + if (sym->type == S_TRISTATE) {
> + if (cnt < pty)
> + val = yes;
> + else if (cnt < pty + ptm)
> + val = mod;
> + } else if (cnt < pby) {
> + val = yes;
> }
> - if (!(sym_is_choice(sym) && mode == def_random))
> - sym->flags |= SYMBOL_DEF_USER;
> break;
> default:
> - break;
> + continue;
> }
> + sym->def[S_DEF_USER].tri = val;
>
> + if (!(sym_is_choice(sym) && mode == def_random))
> + sym->flags |= SYMBOL_DEF_USER;
> }
>
> sym_clear_all_valid();
> --
> 2.40.1
>
>
Reviewed-by: Nicolas Schier <[email protected]>
--
epost|xmpp: [email protected] irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --