[systemd-devel] [PATCH] systemctl: honor --no-legend in 'list-jobs'

Mantas Mikulėnas grawity at gmail.com
Wed Nov 13 03:36:18 PST 2013


---
 src/systemctl/systemctl.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 8b6dae2..737cd67 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1445,11 +1445,12 @@ static void output_jobs_list(const struct job_info* jobs, unsigned n) {
                 shorten = true;
         }
 
-        printf("%*s %-*s %-*s %-*s\n",
-               id_len, "JOB",
-               unit_len, "UNIT",
-               type_len, "TYPE",
-               state_len, "STATE");
+        if (!arg_no_legend)
+                printf("%*s %-*s %-*s %-*s\n",
+                       id_len, "JOB",
+                       unit_len, "UNIT",
+                       type_len, "TYPE",
+                       state_len, "STATE");
 
         for (j = jobs; j < jobs + n; j++) {
                 _cleanup_free_ char *e = NULL;
@@ -1468,10 +1469,12 @@ static void output_jobs_list(const struct job_info* jobs, unsigned n) {
                        on, state_len, j->state, off);
         }
 
-        on = ansi_highlight();
-        off = ansi_highlight_off();
+        if (!arg_no_legend) {
+                on = ansi_highlight();
+                off = ansi_highlight_off();
 
-        printf("\n%s%u jobs listed%s.\n", on, n, off);
+                printf("\n%s%u jobs listed%s.\n", on, n, off);
+        }
 }
 
 static int list_jobs(sd_bus *bus, char **args) {
-- 
1.8.4.2



More information about the systemd-devel mailing list