From: Zbigniew Jędrzejewski-Szmek Date: Thu, 16 Jul 2026 17:03:18 +0000 (+0200) Subject: sysinstall: suppress 'no' prompt to begin installation X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=efbc4481cbbbea448cfe90b7354cf323576396cc;p=thirdparty%2Fsystemd.git sysinstall: suppress 'no' prompt to begin installation The user has to type 'yes', but it doesn't mean that the default of 'no' is ever useful. Suppress it, so the user doesn't have to press backspace twice. --- diff --git a/src/cryptenroll/cryptenroll-interactive.c b/src/cryptenroll/cryptenroll-interactive.c index c4b8c998bf5..f0c1e83789f 100644 --- a/src/cryptenroll/cryptenroll-interactive.c +++ b/src/cryptenroll/cryptenroll-interactive.c @@ -151,7 +151,7 @@ static int ask_wipe(EnrollContext *c, unsigned existing_mask) { return log_oom(); bool wipe; - r = prompt_loop_yes_no(question, /* def= */ false, &wipe); + r = prompt_loop_yes_no(question, "no", /* def= */ false, &wipe); if (r < 0) return r; diff --git a/src/shared/prompt-util.c b/src/shared/prompt-util.c index a7bcfe32e33..0a5ab0291b7 100644 --- a/src/shared/prompt-util.c +++ b/src/shared/prompt-util.c @@ -217,19 +217,19 @@ static int boolean_is_valid(const char *name, void *userdata) { return parse_boolean(name) >= 0; } -int prompt_loop_yes_no(const char *question, bool def, bool *ret) { +int prompt_loop_yes_no(const char *question, const char *prefill, bool def, bool *ret) { int r; assert(question); assert(ret); - char **l = STRV_MAKE("yes", "no"); + char **menu = STRV_MAKE("yes", "no"); _cleanup_free_ char *reply = NULL; r = prompt_loop(question, GLYPH_WARNING_SIGN, - /* prefill= */ def ? "yes" : "no", - /* menu= */ l, + /* prefill= */ prefill, + /* menu= */ menu, /* accepted= */ NULL, /* ellipsize_percentage= */ 20, /* n_columns= */ 2, diff --git a/src/shared/prompt-util.h b/src/shared/prompt-util.h index 19ab497f083..7c35cb5e582 100644 --- a/src/shared/prompt-util.h +++ b/src/shared/prompt-util.h @@ -26,7 +26,7 @@ int prompt_loop(const char *text, PromptFlags flags, char **ret); -int prompt_loop_yes_no(const char *question, bool def, bool *ret); +int prompt_loop_yes_no(const char *question, const char *prefill, bool def, bool *ret); int chrome_show(const char *top, const char *bottom); void chrome_hide(void); diff --git a/src/sysinstall/sysinstall.c b/src/sysinstall/sysinstall.c index 82232f8ccb7..7a531edfcc3 100644 --- a/src/sysinstall/sysinstall.c +++ b/src/sysinstall/sysinstall.c @@ -903,6 +903,7 @@ static int prompt_confirm(void) { bool yes; r = prompt_loop_yes_no(arg_summary ? "Please type 'yes' to confirm the choices above and begin the installation" : "Please type 'yes' to begin the installation", + /* prefill= */ NULL, /* def= */ false, &yes); if (r < 0)