buf = malloc(nl+1);
memcpy(buf, (const char*) data + fl, nl);
((char*)buf)[nl] = 0;
- if (!buf) {
- log_error("Out of memory");
- return -ENOMEM;
- }
+ if (!buf)
+ return log_oom();
free(*target);
*target = buf;
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) {
+ else if (n < n_columns && n_columns - n - 2 >= 3) {
char *e;
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);
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);
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;
}
warn_cutoff = false;
}
- if (!follow)
+ if (!(flags & OUTPUT_FOLLOW))
break;
r = sd_journal_wait(j, (usec_t) -1);