aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2012-03-14 11:16:37 +0200
committerArnold D. Robbins <arnold@skeeve.com>2012-03-14 11:16:37 +0200
commit982aa5c89f762f2385f5fe4e7f7faf4b3fed2b1b (patch)
treed4bf68775f8ea94e252f6bc9af5bff5f86e9f868
parent0ae96bfbc93e44099abb5e3b59719236b5045087 (diff)
downloadegawk-982aa5c89f762f2385f5fe4e7f7faf4b3fed2b1b.tar.gz
egawk-982aa5c89f762f2385f5fe4e7f7faf4b3fed2b1b.tar.bz2
egawk-982aa5c89f762f2385f5fe4e7f7faf4b3fed2b1b.zip
Fix to regex_internal.c from sed list.
-rw-r--r--ChangeLog6
-rw-r--r--regex_internal.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f72977c1..044c9e31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);