chiark / gitweb /
journalctl: unify ellipsation handling between journalctl and systemctl
[elogind.git] / src / systemctl / systemctl.c
index d1fbb78e634317bda8c3ee059ebccf529a3243be..82c801e4d99ce598fc2fce47afa156956b959aec 100644 (file)
@@ -2293,9 +2293,10 @@ static void print_status_info(UnitStatusInfo *i) {
         if (i->id && arg_transport != TRANSPORT_SSH) {
                 int flags =
                         arg_all * OUTPUT_SHOW_ALL |
+                        (!on_tty() || pager_have()) * OUTPUT_FULL_WIDTH |
+                        on_tty() * OUTPUT_COLOR |
                         arg_follow * OUTPUT_FOLLOW |
-                        !arg_quiet * OUTPUT_WARN_CUTOFF |
-                        on_tty() * OUTPUT_COLOR;
+                        !arg_quiet * OUTPUT_WARN_CUTOFF;
 
                 printf("\n");
                 show_journal_by_unit(stdout,
@@ -3594,7 +3595,15 @@ static int mangle_names(char **original_names, char ***mangled_names) {
 
         i = l;
         STRV_FOREACH(name, original_names) {
-                *i = unit_name_mangle(*name);
+
+                /* When enabling units qualified path names are OK,
+                 * too, hence allow them explicitly. */
+
+                if (is_path(*name))
+                        *i = strdup(*name);
+                else
+                        *i = unit_name_mangle(*name);
+
                 if (!*i) {
                         strv_free(l);
                         return log_oom();