From 982aa5c89f762f2385f5fe4e7f7faf4b3fed2b1b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 14 Mar 2012 11:16:37 +0200 Subject: Fix to regex_internal.c from sed list. --- ChangeLog | 6 ++++++ regex_internal.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f72977c1..044c9e31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-14 Arnold D. Robbins + + * regex_internal.c (re_string_skip_chars): Fix calculation of + remain_len with m.b. chars. Thanks to Stanislav Brabec + . + 2012-02-28 Arnold D. Robbins * 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); -- cgit v1.2.3