From: Karel Zak Date: Mon, 22 Apr 2024 11:51:56 +0200 Subject: lsblk: simplify SOURCES code This complicated implementation originated from an early version of zero-separated items for libsmartcols. It is no longer necessary. References: https://github.com/util-linux/util-linux/pull/2983 Signed-off-by: Karel Zak (cherry picked from commit af4c7dac191abadc33aae75916583c890cd2ebc3) --- libsmartcols/src/column.c | 2 +- misc-utils/lsblk.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/libsmartcols/src/column.c b/libsmartcols/src/column.c index 5700bac..586a485 100644 --- a/libsmartcols/src/column.c +++ b/libsmartcols/src/column.c @@ -470,7 +470,7 @@ char *scols_wrapnl_nextchunk(const struct libscols_column *cl __attribute__((unu * This is built-in function for scols_column_set_wrapfunc(). This function * walk string separated by \0. * - * For example for data "AAA\0BBB\0CCC" the next chunk is "BBB". + * For example for data "AAA\0BBB\0CCC\0" the next chunk is "BBB". * * Returns: next chunk * diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 30bd2ed..15d9b19 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -935,8 +935,7 @@ static char *device_get_data( ul_buffer_append_string(&buf, "[SWAP]"); else ul_buffer_append_string(&buf, mnt_fs_get_target(fs)); - if (i + 1 < n) - ul_buffer_append_data(&buf, "\0", 1); + ul_buffer_append_data(&buf, "\0", 1); } str = ul_buffer_get_data(&buf, datasiz, NULL); break; @@ -953,8 +952,7 @@ static char *device_get_data( if (mnt_fs_is_swaparea(fs)) continue; ul_buffer_append_string(&buf, root ? root : "/"); - if (i + 1 < n) - ul_buffer_append_data(&buf, "\0", 1); + ul_buffer_append_data(&buf, "\0", 1); } str = ul_buffer_get_data(&buf, datasiz, NULL); break; @@ -1276,7 +1274,7 @@ static void device_fill_scols_cell(struct lsblk_device *dev, ce = scols_line_get_cell(ln, colnum); if (!ce) return; - rc = datasiz ? scols_cell_refer_memory(ce, data, datasiz + 1) + rc = datasiz ? scols_cell_refer_memory(ce, data, datasiz) : scols_cell_refer_data(ce, data); if (rc) err(EXIT_FAILURE, _("failed to add output data"));