summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/string/__glibc_strerror_r.c7
-rw-r--r--libc/string/__xpg_strerror_r.c9
2 files changed, 15 insertions, 1 deletions
diff --git a/libc/string/__glibc_strerror_r.c b/libc/string/__glibc_strerror_r.c
index e97e55234..96b881700 100644
--- a/libc/string/__glibc_strerror_r.c
+++ b/libc/string/__glibc_strerror_r.c
@@ -5,9 +5,13 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
+/* get rid of REDIRECT */
+#define strerror_r __hide_strerror_r
+
#include <features.h>
#include <string.h>
+#undef strerror_r
char *__glibc_strerror_r(int errnum, char *strerrbuf, size_t buflen)
{
@@ -16,3 +20,6 @@ char *__glibc_strerror_r(int errnum, char *strerrbuf, size_t buflen)
return strerrbuf;
}
libc_hidden_def(__glibc_strerror_r)
+#if !defined __USE_XOPEN2K || defined __USE_GNU
+strong_alias(__glibc_strerror_r,strerror_r)
+#endif
diff --git a/libc/string/__xpg_strerror_r.c b/libc/string/__xpg_strerror_r.c
index 5979b1e37..3e78da1be 100644
--- a/libc/string/__xpg_strerror_r.c
+++ b/libc/string/__xpg_strerror_r.c
@@ -5,11 +5,16 @@
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
+/* get rid of REDIRECT */
+#define strerror_r __hide_strerror_r
+
#include <features.h>
#include <errno.h>
#include <string.h>
#include "_syserrmsg.h"
+#undef strerror_r
+
#ifdef __UCLIBC_HAS_ERRNO_MESSAGES__
extern const char _string_syserrmsgs[] attribute_hidden;
@@ -267,4 +272,6 @@ int __xpg_strerror_r(int errnum, char *strerrbuf, size_t buflen)
#endif /* __UCLIBC_HAS_ERRNO_MESSAGES__ */
libc_hidden_def(__xpg_strerror_r)
-strong_alias_untyped(__xpg_strerror_r, strerror_r)
+#if defined __USE_XOPEN2K && !defined __USE_GNU
+strong_alias(__xpg_strerror_r,strerror_r)
+#endif