X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fsystemctl.c;h=0de2444d43edb62bd420e7435fc364610fb0fadf;hp=9b54da16cae49d63e0ef7281231f2d435072bb60;hb=798e258d301ac237cb1d72b5fc4b19ee900d6f7d;hpb=f176b5c296ad36119aa2464f9fd738e6da59eeee diff --git a/src/systemctl.c b/src/systemctl.c index 9b54da16c..0de2444d4 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -358,13 +358,14 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { } else id_len = max_id_len; - if (arg_full || !arg_no_pager) - desc_len = INT_MAX; - - if (!arg_no_legend) - printf("%-*s %-6s %-*s %-*s %-*s %.*s\n", id_len, "UNIT", "LOAD", - active_len, "ACTIVE", sub_len, "SUB", job_len, "JOB", - desc_len, "DESCRIPTION"); + if (!arg_no_legend) { + printf("%-*s %-6s %-*s %-*s %-*s ", id_len, "UNIT", "LOAD", + active_len, "ACTIVE", sub_len, "SUB", job_len, "JOB"); + if (!arg_full && arg_no_pager) + printf("%.*s\n", desc_len, "DESCRIPTION"); + else + printf("%s\n", "DESCRIPTION"); + } for (u = unit_infos; u < unit_infos + c; u++) { char *e; @@ -391,13 +392,16 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { e = arg_full ? NULL : ellipsize(u->id, id_len, 33); - printf("%-*s %s%-6s%s %s%-*s %-*s%s %-*s %.*s\n", + printf("%-*s %s%-6s%s %s%-*s %-*s%s %-*s ", id_len, e ? e : u->id, on_loaded, u->load_state, off_loaded, on_active, active_len, u->active_state, sub_len, u->sub_state, off_active, - job_len, u->job_id ? u->job_type : "", - desc_len, u->description); + job_len, u->job_id ? u->job_type : ""); + if (!arg_full && arg_no_pager) + printf("%.*s\n", desc_len, u->description); + else + printf("%s\n", u->description); free(e); }