From: Arian van Putten Date: Wed, 31 May 2023 11:27:13 +0000 (+0200) Subject: bootctl: also print efi files not owned by systemd in status X-Git-Tag: v254-rc1~316^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F27856%2Fhead;p=thirdparty%2Fsystemd.git bootctl: also print efi files not owned by systemd in status We should not skip over unknown entries in EFI/BOOT/ but also print them out in status so people are aware that they are there. --- diff --git a/src/boot/bootctl-status.c b/src/boot/bootctl-status.c index 0e4e87ae241..3e9baea4d9d 100644 --- a/src/boot/bootctl-status.c +++ b/src/boot/bootctl-status.c @@ -226,9 +226,8 @@ static int enumerate_binaries( return log_error_errno(errno, "Failed to open file for reading: %m"); r = get_file_version(fd, &v); - if (r == -ESRCH) /* Not the file we are looking for. */ - continue; - if (r < 0) + + if (r < 0 && r != -ESRCH) return r; if (*previous) { /* Let's output the previous entry now, since now we know that there will be @@ -243,7 +242,10 @@ static int enumerate_binaries( /* Do not output this entry immediately, but store what should be printed in a state * variable, because we only will know the tree glyph to print (branch or final edge) once we * read one more entry */ - r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); + if (r == -ESRCH) /* No systemd-owned file but still interesting to print */ + r = asprintf(previous, "/%s/%s", path, de->d_name); + else /* if (r >= 0) */ + r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); if (r < 0) return log_oom();