summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-11-19 17:51:09 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2022-11-25 15:55:23 +0100
commitfdd8feb60e7a7757aaa12d9df357cadeb1c31044 (patch)
tree24b87020899edde6a8cde056e296c4d4e4f46436
parent3dee7b7266f79aba12805dfbfcd770dac3171051 (diff)
downloadlvm2-fdd8feb60e7a7757aaa12d9df357cadeb1c31044.tar.gz
lvmpolld: fix `strerror_r` check for musl
We can't assume that strerror_r returns char* just because _GNU_SOURCE is defined. We already call the appropriate autoconf test, so let's use its result (STRERROR_R_CHAR_P). Note that in configure, _GNU_SOURCE is always set, but we add a defined guard just in case for futureproofing. Bug: https://bugs.gentoo.org/869404
-rw-r--r--daemons/lvmpolld/lvmpolld-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/daemons/lvmpolld/lvmpolld-core.c b/daemons/lvmpolld/lvmpolld-core.c
index 47c9376b4..a75f71e2f 100644
--- a/daemons/lvmpolld/lvmpolld-core.c
+++ b/daemons/lvmpolld/lvmpolld-core.c
@@ -52,7 +52,7 @@ static pthread_key_t key;
static const char *_strerror_r(int errnum, struct lvmpolld_thread_data *data)
{
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE) && defined(STRERROR_R_CHAR_P)
return strerror_r(errnum, data->buf, sizeof(data->buf)); /* never returns NULL */
#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
return strerror_r(errnum, data->buf, sizeof(data->buf)) ? "" : data->buf;