chiark / gitweb /
journalctl: do not ellipsize when using pager
[elogind.git] / src / shared / logs-show.c
index af9bcbd0f7e25ef0c2a70088ae7f70bb18d631ef..43e42f78803cda5ca7d613514286636f5a698508 100644 (file)
@@ -225,7 +225,8 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns,
         else if (!utf8_is_printable_n(message, message_len)) {
                 char bytes[FORMAT_BYTES_MAX];
                 printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len));
-        } else if (message_len + n < n_columns)
+        } else if ((flags & OUTPUT_FULL_WIDTH) ||
+                   (message_len + n < n_columns))
                 printf(": %.*s\n", (int) message_len, message);
         else if (n < n_columns) {
                 char *e;
@@ -553,15 +554,14 @@ int show_journal_by_unit(
                 unsigned n_columns,
                 usec_t not_before,
                 unsigned how_many,
-                bool show_all,
-                bool follow,
-                bool warn_cutoff) {
+                OutputFlags flags) {
 
         char *m = NULL;
         sd_journal *j = NULL;
         int r;
         unsigned line = 0;
         bool need_seek = false;
+        int warn_cutoff = flags & OUTPUT_WARN_CUTOFF;
 
         assert(mode >= 0);
         assert(mode < _OUTPUT_MODE_MAX);
@@ -633,8 +633,7 @@ int show_journal_by_unit(
 
                         line ++;
 
-                        r = output_journal(j, mode, line, n_columns,
-                                           show_all ? OUTPUT_SHOW_ALL : 0);
+                        r = output_journal(j, mode, line, n_columns, flags);
                         if (r < 0)
                                 goto finish;
                 }
@@ -659,7 +658,7 @@ int show_journal_by_unit(
                         warn_cutoff = false;
                 }
 
-                if (!follow)
+                if (!(flags & OUTPUT_FOLLOW))
                         break;
 
                 r = sd_journal_wait(j, (usec_t) -1);