aboutsummaryrefslogtreecommitdiffstats
path: root/misc-utils/lsblk.c
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2023-10-02 18:19:00 +0200
committerKarel Zak <kzak@redhat.com>2023-11-20 22:25:46 +0100
commit15a07bc71e11d1c8ecd91ef67a61fb49b4a6e762 (patch)
tree7dcb3d40828bab4eb07a5cadb0dd15f5d3f80cc9 /misc-utils/lsblk.c
parentaf5fa636b3910058242f1aa36868b54d2c821dd4 (diff)
downloadutil-linux-15a07bc71e11d1c8ecd91ef67a61fb49b4a6e762.tar.gz
lsblk: report all unknown columns in filter
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/lsblk.c')
-rw-r--r--misc-utils/lsblk.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index cd4142c984..164e38291c 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -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"));
}