From 72ebc9262204789a9951a6cc6cd7819b7d63b269 Mon Sep 17 00:00:00 2001 From: Stargirl-chan Date: Thu, 28 Dec 2023 03:41:00 +0100 Subject: [PATCH] Fix compilation on musl by using posix basename --- src/conf.c | 1 + src/mdadm.c | 1 + src/plugin.c | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/conf.c b/src/conf.c index e284e80a..167d753b 100644 --- a/src/conf.c +++ b/src/conf.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #ifdef _LIBITE_LITE diff --git a/src/mdadm.c b/src/mdadm.c index b6d19d47..d8bb3c53 100644 --- a/src/mdadm.c +++ b/src/mdadm.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "helpers.h" diff --git a/src/plugin.c b/src/plugin.c index 884faa1c..cb459336 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -28,6 +28,7 @@ #include /* readdir() et al */ #include #include +#include #ifdef _LIBITE_LITE # include # include /* BSD sys/queue.h API */ @@ -86,9 +87,11 @@ int plugin_register(plugin_t *plugin) if (!plugin->name) { #ifndef ENABLE_STATIC Dl_info info; + char *dli_fname = strdup(info.dli_fname); - if (dladdr(plugin, &info) && info.dli_fname) - plugin->name = basename(info.dli_fname); + if (dladdr(plugin, &info) && dli_fname) + plugin->name = basename(dli_fname); + free(dli_fname); #endif if (!plugin->name) plugin->name = "unknown";