diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | posix/regex_internal.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 60f710797e..14e3199aee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-01-22 Ulrich Drepper <drepper@redhat.com> + + * posix/regex_internal.c (re_string_skip_chars): Simplify test for + failed mbrtowc call. + 2010-01-22 Jim Meyering <jim@meyering.net> [BZ #11186] diff --git a/posix/regex_internal.c b/posix/regex_internal.c index 976dbfc465..8183a29bf6 100644 --- a/posix/regex_internal.c +++ b/posix/regex_internal.c @@ -500,7 +500,7 @@ re_string_skip_chars (re_string_t *pstr, int new_raw_idx, wint_t *last_wc) prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); - if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0)) + if (BE ((ssize_t) mbclen <= 0, 0)) { /* We treat these cases as a single byte character. */ if (mbclen == 0 || remain_len == 0) |