diff options
Diffstat (limited to 'man/journal-iterate-wait.c')
-rw-r--r-- | man/journal-iterate-wait.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/man/journal-iterate-wait.c b/man/journal-iterate-wait.c index ac4b60b..69d3ccc 100644 --- a/man/journal-iterate-wait.c +++ b/man/journal-iterate-wait.c @@ -7,39 +7,38 @@ int main(int argc, char *argv[]) { int r; sd_journal *j; + r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); if (r < 0) { - errno = -r; - fprintf(stderr, "Failed to open journal: %m\n"); + fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); return 1; } + for (;;) { const void *d; size_t l; r = sd_journal_next(j); if (r < 0) { - errno = -r; - fprintf(stderr, "Failed to iterate to next entry: %m\n"); + fprintf(stderr, "Failed to iterate to next entry: %s\n", strerror(-r)); break; } if (r == 0) { /* Reached the end, let's wait for changes, and try again */ r = sd_journal_wait(j, (uint64_t) -1); if (r < 0) { - errno = -r; - fprintf(stderr, "Failed to wait for changes: %m\n"); + fprintf(stderr, "Failed to wait for changes: %s\n", strerror(-r)); break; } continue; } r = sd_journal_get_data(j, "MESSAGE", &d, &l); if (r < 0) { - errno = -r; - fprintf(stderr, "Failed to read message field: %m\n"); + fprintf(stderr, "Failed to read message field: %s\n", strerror(-r)); continue; } printf("%.*s\n", (int) l, (const char*) d); } + sd_journal_close(j); return 0; } |