chiark / gitweb /
libsystemd-journal: return 0 on success in get_data()
[elogind.git] / src / journal / sd-journal.c
index 095fbb249c5ac65c0a6469862f898f3763ac9f8b..fa04bfdfc87eb15c6f885ebdffc845ec3b20f633 100644 (file)
@@ -958,7 +958,7 @@ _public_ int sd_journal_get_cursor(sd_journal *j, char **cursor) {
                      (unsigned long long) le64toh(o->entry.xor_hash)) < 0)
                 return -ENOMEM;
 
-        return 1;
+        return 0;
 }
 
 _public_ int sd_journal_seek_cursor(sd_journal *j, const char *cursor) {
@@ -1321,10 +1321,12 @@ static int add_directory(sd_journal *j, const char *prefix, const char *dirname)
         assert(prefix);
         assert(dirname);
 
+        log_debug("Considering %s/%s.", prefix, dirname);
+
         if ((j->flags & SD_JOURNAL_LOCAL_ONLY) &&
             (sd_id128_from_string(dirname, &id) < 0 ||
              sd_id128_get_machine(&mid) < 0 ||
-             !sd_id128_equal(id, mid)))
+             !(sd_id128_equal(id, mid) || path_startswith(prefix, "/run"))))
             return 0;
 
         path = strjoin(prefix, "/", dirname, NULL);
@@ -1866,7 +1868,7 @@ _public_ int sd_journal_get_data(sd_journal *j, const char *field, const void **
                         *data = o->data.payload;
                         *size = t;
 
-                        return 1;
+                        return 0;
                 }
 
                 r = journal_file_move_to_object(f, OBJECT_ENTRY, f->current_offset, &o);