diff options
Diffstat (limited to 'libc/misc/regex')
-rw-r--r-- | libc/misc/regex/regcomp.c | 2 | ||||
-rw-r--r-- | libc/misc/regex/regex.c | 8 | ||||
-rw-r--r-- | libc/misc/regex/regex_old.c | 10 | ||||
-rw-r--r-- | libc/misc/regex/regexec.c | 2 |
4 files changed, 15 insertions, 7 deletions
diff --git a/libc/misc/regex/regcomp.c b/libc/misc/regex/regcomp.c index 94e0314b5..471ea55f0 100644 --- a/libc/misc/regex/regcomp.c +++ b/libc/misc/regex/regcomp.c @@ -532,7 +532,7 @@ regerror (errcode, preg, errbuf, errbuf_size) { if (BE (msg_size > errbuf_size, 0)) { -#if defined HAVE_MEMPCPY || defined _LIBC +#if (defined HAVE_MEMPCPY || defined _LIBC) && defined __USE_GNU *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; #else memcpy (errbuf, msg, errbuf_size - 1); diff --git a/libc/misc/regex/regex.c b/libc/misc/regex/regex.c index 77c09a011..9328f6025 100644 --- a/libc/misc/regex/regex.c +++ b/libc/misc/regex/regex.c @@ -28,7 +28,9 @@ #ifdef __UCLIBC__ #undef _LIBC #define _REGEX_RE_COMP -#define HAVE_MEMPCPY +#ifdef __USE_GNU +# define HAVE_MEMPCPY +#endif #define HAVE_LANGINFO #define HAVE_LANGINFO_CODESET #include <stdbool.h> @@ -83,8 +85,10 @@ libc_hidden_proto(strlen) libc_hidden_proto(strncpy) libc_hidden_proto(getenv) libc_hidden_proto(strcasecmp) -libc_hidden_proto(mempcpy) libc_hidden_proto(abort) +#ifdef __USE_GNU +libc_hidden_proto(mempcpy) +#endif #endif diff --git a/libc/misc/regex/regex_old.c b/libc/misc/regex/regex_old.c index 29640734d..cf5843ec5 100644 --- a/libc/misc/regex/regex_old.c +++ b/libc/misc/regex/regex_old.c @@ -26,7 +26,9 @@ #ifdef __UCLIBC__ # undef _LIBC # define _REGEX_RE_COMP -# define HAVE_MEMPCPY +# ifdef __USE_GNU +# define HAVE_MEMPCPY +# endif # define STDC_HEADERS # define RE_TRANSLATE_TYPE char * #endif @@ -41,8 +43,10 @@ libc_hidden_proto(memcpy) libc_hidden_proto(strcmp) libc_hidden_proto(strlen) libc_hidden_proto(printf) -libc_hidden_proto(mempcpy) libc_hidden_proto(abort) +#ifdef __USE_GNU +libc_hidden_proto(mempcpy) +#endif /* AIX requires this to be the first thing in the file. */ #if defined _AIX && !defined REGEX_MALLOC @@ -8281,7 +8285,7 @@ regerror (errcode, preg, errbuf, errbuf_size) { if (msg_size > errbuf_size) { -#if defined HAVE_MEMPCPY || defined _LIBC +#if (defined HAVE_MEMPCPY || defined _LIBC) && defined __USE_GNU *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; #else memcpy (errbuf, msg, errbuf_size - 1); diff --git a/libc/misc/regex/regexec.c b/libc/misc/regex/regexec.c index bafc34ce0..2c8917e19 100644 --- a/libc/misc/regex/regexec.c +++ b/libc/misc/regex/regexec.c @@ -385,7 +385,7 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, if (BE (s == NULL, 0)) return -2; -#if defined _LIBC || defined __UCLIBC__ +#if (defined _LIBC || defined __UCLIBC__) && defined __USE_GNU memcpy (__mempcpy (s, string1, length1), string2, length2); #else memcpy (s, string1, length1); |