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); | 
