From: Franck Bui Date: Sun, 13 Nov 2016 08:32:52 +0000 (+0100) Subject: core: in confirm_spawn, the meaning of 'n' and 's' choices are confusing X-Git-Tag: v233~411^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2bcc330942d526b6004a67c92e284ad842bd5e59;p=thirdparty%2Fsystemd.git core: in confirm_spawn, the meaning of 'n' and 's' choices are confusing Before this patch we had: - "no" which gives "failing execution" but the command is actually assumed as succeed. - "skip" which gives "skipping", but the command is assumed to have failed, which ends up with "Failed to start ..." on the console. Now we have: - "fail" which gives "failing execution" and the command is indeed assumed as failed. - "skip" which gives "skipping execution" and the command is assumed as succeed. --- diff --git a/NEWS b/NEWS index b10a6f538f4..fbd9afa2cb9 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,17 @@ systemd System and Service Manager +CHANGES WITH 233 in spe + + * The confirmation spawn prompt has been reworked to offer the + following choices: + + (f)ail, don't execute the command and pretend it failed + (s)kip, don't execute the command and pretend it succeeded + (y)es, execute the command + + The 'n' choice for the confirmation spawn prompt has been removed, + because its meaning was confusing. + CHANGES WITH 232: * The new RemoveIPC= option can be used to remove IPC objects owned by diff --git a/src/core/execute.c b/src/core/execute.c index 8b09f71717a..10e9dd7cc8f 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -731,7 +731,7 @@ static int ask_for_confirmation(const char *vc, const char *cmdline) { return CONFIRM_EXECUTE; } - r = ask_char(&c, "yns", "Execute %s? [Yes, No, Skip] ", cmdline); + r = ask_char(&c, "yfs", "Execute %s? [Yes, Fail, Skip] ", cmdline); if (r < 0) { write_confirm_error_fd(r, STDOUT_FILENO); r = CONFIRM_EXECUTE; @@ -739,13 +739,13 @@ static int ask_for_confirmation(const char *vc, const char *cmdline) { } switch (c) { - case 'n': + case 'f': printf("Failing execution.\n"); - r = CONFIRM_PRETEND_SUCCESS; + r = CONFIRM_PRETEND_FAILURE; break; case 's': printf("Skipping execution.\n"); - r = CONFIRM_PRETEND_FAILURE; + r = CONFIRM_PRETEND_SUCCESS; break; case 'y': r = CONFIRM_EXECUTE;