From 938467ad2d9972c8d7ddcbde5dd9fe634da1ca3b Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Fri, 18 Mar 2011 23:21:15 +0100 Subject: *_strerror_r.c: keep all occurences in sync with string.h libc-internal.h: this has to provide the reversed case of what string.h defines. Accomodate for later possibility to compile without _GNU_SOURCE defined Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- include/libc-internal.h | 8 ++++---- libc/string/__glibc_strerror_r.c | 7 +++++++ libc/string/__xpg_strerror_r.c | 9 ++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/include/libc-internal.h b/include/libc-internal.h index dfd1dfc55..74c35422b 100644 --- a/include/libc-internal.h +++ b/include/libc-internal.h @@ -44,12 +44,12 @@ # include /* sources are built w/ _GNU_SOURCE, this gets undefined */ -#ifdef __USE_GNU -extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen); -libc_hidden_proto(__xpg_strerror_r) -#else +#if defined __USE_XOPEN2K && !defined __USE_GNU extern char *__glibc_strerror_r (int __errnum, char *__buf, size_t __buflen); libc_hidden_proto(__glibc_strerror_r) +#else +extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen); +libc_hidden_proto(__xpg_strerror_r) #endif /* #include */ 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 #include +#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 #include #include #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 -- cgit v1.2.3