]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsblk: report all unknown columns in filter
authorKarel Zak <kzak@redhat.com>
Mon, 2 Oct 2023 16:19:00 +0000 (18:19 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 20 Nov 2023 21:25:46 +0000 (22:25 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/lsblk.c

index cd4142c984cbf63fed8778636ebb22b7ff738a59..164e38291c22acae0b56488f7de564f3a742393c 100644 (file)
@@ -2236,6 +2236,7 @@ static void init_scols_filter(struct libscols_table *tb, struct libscols_filter
 {
        struct libscols_iter *itr;
        const char *name = NULL;
+       int nerrs = 0;
 
        itr = scols_new_iter(SCOLS_ITER_FORWARD);
        if (!itr)
@@ -2246,9 +2247,10 @@ static void init_scols_filter(struct libscols_table *tb, struct libscols_filter
                int id = column_name_to_id(name, strlen(name));
                const struct colinfo *ci = id >= 0 ? &infos[id] : NULL;
 
-               if (!ci)
-                       goto fail;
-
+               if (!ci) {
+                       nerrs++;
+                       continue;       /* report all unknown columns */
+               }
                if (!col) {
                        add_column(id);
                        col = scols_table_new_column(lsblk->table, ci->name,
@@ -2273,8 +2275,10 @@ static void init_scols_filter(struct libscols_table *tb, struct libscols_filter
        }
 
        scols_free_iter(itr);
-       return;
-fail:
+
+       if (!nerrs)
+               return;
+
        errx(EXIT_FAILURE, _("failed to initialize filter"));
 }