summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream/lsblk-simplify-SOURCES-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/upstream/lsblk-simplify-SOURCES-code.patch')
-rw-r--r--debian/patches/upstream/lsblk-simplify-SOURCES-code.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/patches/upstream/lsblk-simplify-SOURCES-code.patch b/debian/patches/upstream/lsblk-simplify-SOURCES-code.patch
new file mode 100644
index 0000000..e7cde87
--- /dev/null
+++ b/debian/patches/upstream/lsblk-simplify-SOURCES-code.patch
@@ -0,0 +1,61 @@
+From: Karel Zak <kzak@redhat.com>
+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 <kzak@redhat.com>
+(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"));