diff options
-rw-r--r-- | libc/misc/regex/regex.c | 3 | ||||
-rw-r--r-- | libc/misc/regex/regex_internal.c | 4 | ||||
-rw-r--r-- | libc/misc/regex/regex_internal.h | 3 |
3 files changed, 7 insertions, 3 deletions
diff --git a/libc/misc/regex/regex.c b/libc/misc/regex/regex.c index 3e53a2ea6..77c09a011 100644 --- a/libc/misc/regex/regex.c +++ b/libc/misc/regex/regex.c @@ -28,6 +28,9 @@ #ifdef __UCLIBC__ #undef _LIBC #define _REGEX_RE_COMP +#define HAVE_MEMPCPY +#define HAVE_LANGINFO +#define HAVE_LANGINFO_CODESET #include <stdbool.h> #include <stdint.h> #include <string.h> diff --git a/libc/misc/regex/regex_internal.c b/libc/misc/regex/regex_internal.c index 6299f547e..3fc62d731 100644 --- a/libc/misc/regex/regex_internal.c +++ b/libc/misc/regex/regex_internal.c @@ -195,7 +195,7 @@ static void internal_function build_wcs_buffer (re_string_t *pstr) { -#ifdef _LIBC +#if defined _LIBC || defined __UCLIBC__ unsigned char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else @@ -266,7 +266,7 @@ build_wcs_upper_buffer (re_string_t *pstr) mbstate_t prev_st; int src_idx, byte_idx, end_idx, remain_len; size_t mbclen; -#ifdef _LIBC +#if defined _LIBC || defined __UCLIBC__ char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else diff --git a/libc/misc/regex/regex_internal.h b/libc/misc/regex/regex_internal.h index 4782883c1..d82cf6d42 100644 --- a/libc/misc/regex/regex_internal.h +++ b/libc/misc/regex/regex_internal.h @@ -29,6 +29,7 @@ #if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC # include <langinfo.h> +libc_hidden_proto(nl_langinfo) #endif #if defined HAVE_LOCALE_H || defined _LIBC # include <locale.h> @@ -52,7 +53,7 @@ #endif /* In case that the system doesn't have isblank(). */ -#if !defined _LIBC && !defined HAVE_ISBLANK && !defined isblank +#if !defined _LIBC && !defined HAVE_ISBLANK && !defined isblank && !defined __UCLIBC__ # define isblank(ch) ((ch) == ' ' || (ch) == '\t') #endif |