mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-24 03:35:38 +03:00
42 lines
1.5 KiB
Diff
42 lines
1.5 KiB
Diff
From 52d862c4e8af60a31f0067e1070b8625e805cdc3 Mon Sep 17 00:00:00 2001
|
|
From: Natanael Copa <ncopa@alpinelinux.org>
|
|
Date: Thu, 21 Jan 2016 23:37:32 +0100
|
|
Subject: [PATCH] Fix use of strerror_r()
|
|
|
|
Don't try keep track of all platforms which follows posix standard.
|
|
Instead, make the platform which don't follow standard to an exception
|
|
and fall back to standard implementation for everything else.
|
|
|
|
This fixes building with musl libc.
|
|
|
|
Fixes #94
|
|
---
|
|
asio/include/asio/impl/error_code.ipp | 11 ++++-------
|
|
1 file changed, 4 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/asio/include/asio/impl/error_code.ipp b/asio/include/asio/impl/error_code.ipp
|
|
index b996773..3a1cff1 100644
|
|
--- a/include/asio/impl/error_code.ipp
|
|
+++ b/include/asio/impl/error_code.ipp
|
|
@@ -98,17 +98,14 @@ public:
|
|
#if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
|
|
using namespace std;
|
|
return strerror(value);
|
|
-#elif defined(__MACH__) && defined(__APPLE__) \
|
|
- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
|
|
- || defined(_AIX) || defined(__hpux) || defined(__osf__) \
|
|
- || defined(__ANDROID__)
|
|
+#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
|
|
+ char buf[256] = "";
|
|
+ return strerror_r(value, buf, sizeof(buf));
|
|
+#else
|
|
char buf[256] = "";
|
|
using namespace std;
|
|
strerror_r(value, buf, sizeof(buf));
|
|
return buf;
|
|
-#else
|
|
- char buf[256] = "";
|
|
- return strerror_r(value, buf, sizeof(buf));
|
|
#endif
|
|
#endif // defined(ASIO_WINDOWS_DESKTOP) || defined(__CYGWIN__)
|
|
}
|