diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | regexec.c | 2 | ||||
-rw-r--r-- | test/ruby/test_regexp.rb | 4 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Sun Nov 28 12:07:04 2004 Kazuo Saito <ksaito@uranus.dti.ne.jp> + + * regexec.c, test/ruby/test_regexp.rb: fixed segmentation falut + ([ruby-dev:24887]). + Sun Nov 28 12:05:48 2004 Kazuo Saito <ksaito@uranus.dti.ne.jp> * regcomp.c, regint.h: fixed PLATFORM_UNALIGNED_WORD_ACCESS @@ -3199,7 +3199,7 @@ onig_search(regex_t* reg, UChar* str, UChar* end, } } else if (reg->anchor & ANCHOR_SEMI_END_BUF) { - UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, start, end, 1); + UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, 1); if (ONIGENC_IS_MBC_NEWLINE(reg->enc, pre_end, end)) { semi_end = pre_end; diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb index 217177375d..889fbb4b2d 100644 --- a/test/ruby/test_regexp.rb +++ b/test/ruby/test_regexp.rb @@ -8,4 +8,8 @@ class TestRegexp < Test::Unit::TestCase def test_ruby_talk_116455 assert_match(/^(\w{2,}).* ([A-Za-z\xa2\xc0-\xff]{2,}?)$/, "Hallo Welt") end + + def test_ruby_dev_24887 + assert_equal("a".gsub(/a\Z/, ""), "") + end end |