diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-03 05:20:27 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-03 05:20:27 +0000 |
commit | 1c400db1d57fecda49f1e32bd0a4711973d44a23 (patch) | |
tree | 30bf0c6db0bd5c49a9814d97eb2abefde4bbd8a4 /re.c | |
parent | 3f59f0e06c4755babf5b667d13779951280d92f2 (diff) | |
download | ruby-1c400db1d57fecda49f1e32bd0a4711973d44a23.tar.gz |
* re.c (match_array): replace match_check().
* re.c (match_values_at): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -1518,13 +1518,17 @@ last_paren_match_getter(void) static VALUE match_array(VALUE match, int start) { - struct re_registers *regs = RMATCH_REGS(match); - VALUE ary = rb_ary_new2(regs->num_regs); - VALUE target = RMATCH(match)->str; + struct re_registers *regs; + VALUE ary; + VALUE target; int i; int taint = OBJ_TAINTED(match); match_check(match); + regs = RMATCH_REGS(match); + ary = rb_ary_new2(regs->num_regs); + target = RMATCH(match)->str; + for (i=start; i<regs->num_regs; i++) { if (regs->beg[i] == -1) { rb_ary_push(ary, Qnil); @@ -1697,8 +1701,10 @@ match_entry(VALUE match, long n) static VALUE match_values_at(int argc, VALUE *argv, VALUE match) { - struct re_registers *regs = RMATCH_REGS(match); + struct re_registers *regs; + match_check(match); + regs = RMATCH_REGS(match); return rb_get_values_at(match, regs->num_regs, argc, argv, match_entry); } |