summaryrefslogtreecommitdiffstats
path: root/libc/misc/regex/regex_internal.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-27 23:50:27 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-02-27 23:50:27 +0000
commite52a11db3dcc50f2dd72c3f5871afc1d432507de (patch)
tree9ecbf1b8ae5b77595de3393f4b8e37ecf4f074c2 /libc/misc/regex/regex_internal.c
parentd032c07a7913c9aa932e35eb04a3cccdae8a9a1d (diff)
downloaduClibc-alpine-e52a11db3dcc50f2dd72c3f5871afc1d432507de.tar.bz2
uClibc-alpine-e52a11db3dcc50f2dd72c3f5871afc1d432507de.tar.xz
Merge from trunk.
Diffstat (limited to 'libc/misc/regex/regex_internal.c')
-rw-r--r--libc/misc/regex/regex_internal.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libc/misc/regex/regex_internal.c b/libc/misc/regex/regex_internal.c
index c1ee85040..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
@@ -882,8 +882,9 @@ re_node_set_alloc (re_node_set *set, int size)
{
set->alloc = size;
set->nelem = 0;
- set->elems = re_malloc (int, size);
- if (BE (set->elems == NULL, 0))
+ set->elems = re_malloc (int, size); /* can be NULL if size == 0
+ (see re_node_set_init_empty(set)) */
+ if (BE (set->elems == NULL && size != 0, 0))
return REG_ESPACE;
return REG_NOERROR;
}