diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-04-09 18:32:21 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-04-09 18:32:21 +0200 |
commit | 019c7fba754f74909bdb8bbbbbbe529082928a95 (patch) | |
tree | 9b53a83d39a2b128e46065625fb6a298942e90f8 /src/core/job.c | |
parent | ab51b943d42eb6a5e4c6e26cd3c641d4e604bd1c (diff) |
util: add shell_maybe_quote() call for preparing a string for shell cmdline inclusion
If necessary the passed string is enclosed in "", and all special
characters escapes.
This also ports over usage in bus-util.c and job.c to use this, instead
of a incorrect local implementation that forgets to properly escape.
Diffstat (limited to 'src/core/job.c')
-rw-r--r-- | src/core/job.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/core/job.c b/src/core/job.c index bd63eb16ba..0230f9316b 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -674,15 +674,13 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) { break; case JOB_FAILED: { - bool quotes; + _cleanup_free_ char *quoted = NULL; - quotes = chars_intersect(u->id, SHELL_NEED_QUOTES); + quoted = shell_maybe_quote(u->id); manager_flip_auto_status(u->manager, true); unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format); - manager_status_printf(u->manager, STATUS_TYPE_NORMAL, NULL, - "See \"systemctl status %s%s%s\" for details.", - quotes ? "'" : "", u->id, quotes ? "'" : ""); + manager_status_printf(u->manager, STATUS_TYPE_NORMAL, NULL, "See 'systemctl status %s' for details.", strna(quoted)); break; } |