Re: [PATCH 2/3] kconfig: refactor conf_set_all_new_symbols() to reduce indentation level

From: Nicolas Schier
Date: Wed Jun 05 2024 - 16:26:28 EST


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 <masahiroy@xxxxxxxxxx>
> ---
>
> 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 <nicolas@xxxxxxxxx>



--
epost|xmpp: nicolas@xxxxxxxxx irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --

Attachment: signature.asc
Description: PGP signature