aboutsummaryrefslogtreecommitdiffhomepage
path: root/wutil.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-05-25 13:42:16 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-05-25 13:42:16 -0700
commitcfe815135e6649d3381799eb6da034b78b8ebf00 (patch)
tree4134cb4036cec2ddff94ba9b07ca6f149da6b0ec /wutil.cpp
parent2eb97edf02e1c69ab4039399cfc5dac6916c452f (diff)
Use strerror in uClibc, which doesn't have sys_errlist
Diffstat (limited to 'wutil.cpp')
-rw-r--r--wutil.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/wutil.cpp b/wutil.cpp
index fa9ebc40..3f70368e 100644
--- a/wutil.cpp
+++ b/wutil.cpp
@@ -319,6 +319,11 @@ static inline void safe_append(char *buffer, const char *s, size_t buffsize)
const char *safe_strerror(int err)
{
+#if defined(__UCLIBC__)
+ // uClibc does not have sys_errlist, however, its strerror is believed to be async-safe
+ // See #808
+ return strerror(err);
+#else
if (err >= 0 && err < sys_nerr && sys_errlist[err] != NULL)
{
return sys_errlist[err];
@@ -340,6 +345,7 @@ const char *safe_strerror(int err)
errno = saved_err;
return buff;
}
+#endif
}
void safe_perror(const char *message)