mirror of
https://github.com/systemd/systemd.git
synced 2024-11-05 15:21:37 +03:00
journalctl: Correctly handle --show-cursor in combination with --until or --since and --reverse
This commit is contained in:
parent
575a915a74
commit
3ac9cac7f7
@ -2514,7 +2514,7 @@ int main(int argc, char *argv[]) {
|
|||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
if (usec > arg_until)
|
if (usec > arg_until)
|
||||||
goto finish;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg_since_set && arg_reverse) {
|
if (arg_since_set && arg_reverse) {
|
||||||
@ -2526,7 +2526,7 @@ int main(int argc, char *argv[]) {
|
|||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
if (usec < arg_since)
|
if (usec < arg_since)
|
||||||
goto finish;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!arg_merge && !arg_quiet) {
|
if (!arg_merge && !arg_quiet) {
|
||||||
@ -2632,29 +2632,6 @@ int main(int argc, char *argv[]) {
|
|||||||
if (!arg_follow) {
|
if (!arg_follow) {
|
||||||
if (n_shown == 0 && !arg_quiet)
|
if (n_shown == 0 && !arg_quiet)
|
||||||
printf("-- No entries --\n");
|
printf("-- No entries --\n");
|
||||||
|
|
||||||
if (arg_show_cursor || arg_cursor_file) {
|
|
||||||
_cleanup_free_ char *cursor = NULL;
|
|
||||||
|
|
||||||
r = sd_journal_get_cursor(j, &cursor);
|
|
||||||
if (r < 0 && r != -EADDRNOTAVAIL)
|
|
||||||
log_error_errno(r, "Failed to get cursor: %m");
|
|
||||||
else if (r >= 0) {
|
|
||||||
if (arg_show_cursor)
|
|
||||||
printf("-- cursor: %s\n", cursor);
|
|
||||||
|
|
||||||
if (arg_cursor_file) {
|
|
||||||
r = write_string_file(arg_cursor_file, cursor,
|
|
||||||
WRITE_STRING_FILE_CREATE |
|
|
||||||
WRITE_STRING_FILE_ATOMIC);
|
|
||||||
if (r < 0)
|
|
||||||
log_error_errno(r,
|
|
||||||
"Failed to write new cursor to %s: %m",
|
|
||||||
arg_cursor_file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2667,6 +2644,28 @@ int main(int argc, char *argv[]) {
|
|||||||
first_line = false;
|
first_line = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (arg_show_cursor || arg_cursor_file) {
|
||||||
|
_cleanup_free_ char *cursor = NULL;
|
||||||
|
|
||||||
|
r = sd_journal_get_cursor(j, &cursor);
|
||||||
|
if (r < 0 && r != -EADDRNOTAVAIL)
|
||||||
|
log_error_errno(r, "Failed to get cursor: %m");
|
||||||
|
else if (r >= 0) {
|
||||||
|
if (arg_show_cursor)
|
||||||
|
printf("-- cursor: %s\n", cursor);
|
||||||
|
|
||||||
|
if (arg_cursor_file) {
|
||||||
|
r = write_string_file(arg_cursor_file, cursor,
|
||||||
|
WRITE_STRING_FILE_CREATE |
|
||||||
|
WRITE_STRING_FILE_ATOMIC);
|
||||||
|
if (r < 0)
|
||||||
|
log_error_errno(r,
|
||||||
|
"Failed to write new cursor to %s: %m",
|
||||||
|
arg_cursor_file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
pager_close();
|
pager_close();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user