1From 389286b25a903be62ce7f964246824fcc20c4c67 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Tue, 26 Mar 2024 18:56:55 -0700 4Subject: [PATCH] libmultipath: always use glibc basename() 5 6There is a use of basename() which expects it to be GNU version of 7basename, which is not available in other libcs e.g. musl on Linux 8therefore provide a version for such cases 9 10Upstream-Status: Submitted [https://github.com/opensvc/multipath-tools/pull/84] 11Signed-off-by: Khem Raj <raj.khem@gmail.com> 12--- 13 libmultipath/configure.c | 13 +++++++++++++ 14 1 file changed, 13 insertions(+) 15 16diff --git a/libmultipath/configure.c b/libmultipath/configure.c 17index 4ecf6ba4..e81cc67c 100644 18--- a/libmultipath/configure.c 19+++ b/libmultipath/configure.c 20@@ -43,6 +43,19 @@ 21 #include "sysfs.h" 22 #include "io_err_stat.h" 23 24+#ifndef __GLIBC__ 25+/* 26+ * glibc's non-destructive version of basename() 27+ * License: LGPL-2.1-or-later 28+ */ 29+static const char *__basename(const char *filename) 30+{ 31+ char *p = strrchr(filename, '/'); 32+ return p ? p + 1 : filename; 33+} 34+#define basename(x) __basename(x) 35+#endif 36+ 37 /* group paths in pg by host adapter 38 */ 39 int group_by_host_adapter(struct pathgroup *pgp, vector adapters) 40-- 412.44.0 42 43