mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-29 20:59:45 +01:00
GNU version of strerror_r not available on musl
The GNU version of glibc' `strerror_r` is non-portable. When the POSIX and GNU API collides musl always provides the POSIX API. That being the case for `strerror_r` musl does only support the POSIX version, despite of `_GNU_SOURCE`.
This commit is contained in:
@@ -69,7 +69,10 @@ namespace Poco {
|
|||||||
without -D_GNU_SOURCE is needed, otherwise the GNU version is
|
without -D_GNU_SOURCE is needed, otherwise the GNU version is
|
||||||
preferred.
|
preferred.
|
||||||
*/
|
*/
|
||||||
#if defined _GNU_SOURCE && !POCO_ANDROID
|
/* The GNU version of strerror_r is non-portable and not
|
||||||
|
available on the musl C library.
|
||||||
|
*/
|
||||||
|
#if (defined __GLIBC__ || defined __UCLIBC__) && defined _GNU_SOURCE && !POCO_ANDROID
|
||||||
char errmsg[256] = "";
|
char errmsg[256] = "";
|
||||||
return std::string(strerror_r(errorCode, errmsg, 256));
|
return std::string(strerror_r(errorCode, errmsg, 256));
|
||||||
#elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID
|
#elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID
|
||||||
|
|||||||
Reference in New Issue
Block a user