diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-26 07:43:16 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-26 07:43:16 +0000 |
| commit | 67d75e7a8152b1402fe0a1b401f098d063366886 (patch) | |
| tree | a4796cb2f2d3db73848ab814b89153ebc80f7066 /string.c | |
| parent | 7edf6b576e7e40155d830a573966a691fd7c809c (diff) | |
| download | ruby-67d75e7a8152b1402fe0a1b401f098d063366886.tar.gz ruby-67d75e7a8152b1402fe0a1b401f098d063366886.tar.xz ruby-67d75e7a8152b1402fe0a1b401f098d063366886.zip | |
* string.c (rb_str_scan): add string modification check.
[ruby-core:7216]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
| -rw-r--r-- | string.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -3919,6 +3919,7 @@ rb_str_scan(VALUE str, VALUE pat) VALUE result; long start = 0; VALUE match = Qnil; + char *p = RSTRING(str)->ptr; long len = RSTRING(str)->len; pat = get_pat(pat, 1); if (!rb_block_given_p()) { @@ -3936,6 +3937,7 @@ rb_str_scan(VALUE str, VALUE pat) match = rb_backref_get(); rb_match_busy(match); rb_yield(result); + str_mod_check(str, p, len); rb_backref_set(match); /* restore $~ value */ } rb_backref_set(match); |
