From 56aad5a88467f3388e5559e717de5b64160478d7 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 23 Oct 2023 22:34:18 +0200 Subject: [PATCH] libsmartcols: (filter) normalize param strings Let's ignore space at the beginning and end of the string. It's possible that filling functions in applications use extra space to align data in columns. We need to ignore it. Signed-off-by: Karel Zak --- libsmartcols/src/filter-param.c | 4 ++++ libsmartcols/src/filter.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libsmartcols/src/filter-param.c b/libsmartcols/src/filter-param.c index 81cbb2a60a..cc2d7af4a4 100644 --- a/libsmartcols/src/filter-param.c +++ b/libsmartcols/src/filter-param.c @@ -66,6 +66,10 @@ static int param_set_data(struct filter_param *n, int type, const void *data) n->val.str = strdup((char *) data); if (data && !n->val.str) return -ENOMEM; + if (data) { + rtrim_whitespace((unsigned char *) n->val.str); + ltrim_whitespace((unsigned char *) n->val.str); + } break; case SCOLS_DATA_U64: n->val.num = data ? *((unsigned long long *) data) : 0; diff --git a/libsmartcols/src/filter.c b/libsmartcols/src/filter.c index 1fbbb57389..c68f721cbb 100644 --- a/libsmartcols/src/filter.c +++ b/libsmartcols/src/filter.c @@ -153,6 +153,8 @@ int scols_filter_parse_string(struct libscols_filter *fltr, const char *str) fclose(fltr->src); fltr->src = NULL; + ON_DBG(FLTR, scols_dump_filter(fltr, stderr)); + return rc; } -- 2.47.3