From dd6f9ac0d03d073f5dfbf1166f63c6bb64d7ce0c Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Sat, 12 Nov 2016 15:08:29 +0100 Subject: [PATCH] core: add 'D' in confirmat spawn to show a full dump of the unit to spawn --- NEWS | 1 + src/core/execute.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index a145c3a..45d3336 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ CHANGES WITH 233 in spe * The confirmation spawn prompt has been reworked to offer the following choices: + (D)ump, show the state of the unit (f)ail, don't execute the command and pretend it failed (h)elp (i)nfo, show a short summary of the unit diff --git a/src/core/execute.c b/src/core/execute.c index b48a573..6c65bdc 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -740,7 +740,7 @@ static int ask_for_confirmation(const char *vc, Unit *u, const char *cmdline) { } for (;;) { - r = ask_char(&c, "yfshi", "Execute %s? [y, f, s – h for help] ", e); + r = ask_char(&c, "yfshiD", "Execute %s? [y, f, s – h for help] ", e); if (r < 0) { write_confirm_error_fd(r, STDOUT_FILENO); r = CONFIRM_EXECUTE; @@ -748,17 +748,21 @@ static int ask_for_confirmation(const char *vc, Unit *u, const char *cmdline) { } switch (c) { + case 'D': + unit_dump(u, stdout, " "); + continue; /* ask again */ case 'f': printf("Failing execution.\n"); r = CONFIRM_PRETEND_FAILURE; break; case 'h': - printf(" f - fail, don't execute the command and pretend it failed\n" + printf(" D - dump, show the state of the unit\n" + " f - fail, don't execute the command and pretend it failed\n" " h - help\n" " i - info, show a short summary of the unit\n" " s - skip, don't execute the command and pretend it succeeded\n" " y - yes, execute the command\n"); - continue; + continue; /* ask again */ case 'i': printf(" Description: %s\n" " Unit: %s\n" -- 2.7.4