diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-29 13:44:32 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-29 13:44:32 +0000 |
commit | 5ee7f4b0b5a015ae31bffe1b11723c9fce272866 (patch) | |
tree | c64191a009166a37ce0440f4fbfc2893d63ffcf1 /re.c | |
parent | 1b0ba5931ded52e16b24ea9ca8e466cd0aaed0fc (diff) |
* re.c (rb_reg_regsub): returns the given string itself if nothing
changed.
* string.c (rb_str_sub_bang): keeps code-range as possible.
* string.c (str_gsub): adjusts code-range. [ruby-core:14566]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -2856,13 +2856,10 @@ rb_reg_regsub(VALUE str, VALUE src, struct re_registers *regs, VALUE regexp) } } + if (!val) return str; if (p < e) { - if (!val) { - val = rb_str_buf_new(e-p); - } rb_str_buf_cat(val, p, e-p); } - if (!val) return str; rb_enc_associate(val, enc); return val; |