diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | regex_internal.c | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2012-03-14 Arnold D. Robbins <arnold@skeeve.com> + + * regex_internal.c (re_string_skip_chars): Fix calculation of + remain_len with m.b. chars. Thanks to Stanislav Brabec + <sbrabec@suse.cz>. + 2012-02-28 Arnold D. Robbins <arnold@skeeve.com> * main.c (init_groupset): Make `getgroups' failing a non-fatal diff --git a/regex_internal.c b/regex_internal.c index d76cae2e..45516709 100644 --- a/regex_internal.c +++ b/regex_internal.c @@ -505,7 +505,7 @@ re_string_skip_chars (re_string_t *pstr, int new_raw_idx, wint_t *last_wc) rawbuf_idx < new_raw_idx;) { wchar_t wc2; - int remain_len = pstr->len - rawbuf_idx; + int remain_len = pstr->raw_len - rawbuf_idx; prev_st = pstr->cur_state; mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); |