+ /* no flags set → every type is OK */
+ if (!(flags & (SD_JOURNAL_SYSTEM | SD_JOURNAL_CURRENT_USER)))
+ return true;
+
+ if (flags & SD_JOURNAL_SYSTEM && file_has_type_prefix("system", filename))
+ return true;
+
+ if (flags & SD_JOURNAL_CURRENT_USER) {
+ char prefix[5 + DECIMAL_STR_MAX(uid_t) + 1];
+
+ assert_se(snprintf(prefix, sizeof(prefix), "user-"UID_FMT, getuid())
+ < (int) sizeof(prefix));
+
+ if (file_has_type_prefix(prefix, filename))
+ return true;
+ }
+
+ return false;
+}
+
+static int add_any_file(sd_journal *j, const char *path) {
+ JournalFile *f = NULL;
+ int r;
+
+ assert(j);
+ assert(path);
+
+ if (ordered_hashmap_get(j->files, path))