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 | 8d729c7230fcb643111c07fefa48d1efc53436b0 (patch) | |
| tree | c64191a009166a37ce0440f4fbfc2893d63ffcf1 /re.c | |
| parent | 2d67eb7ef4d5bafcb007184fa8b00e3d21f1c98d (diff) | |
| download | ruby-8d729c7230fcb643111c07fefa48d1efc53436b0.tar.gz ruby-8d729c7230fcb643111c07fefa48d1efc53436b0.tar.xz ruby-8d729c7230fcb643111c07fefa48d1efc53436b0.zip | |
* 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: http://svn.ruby-lang.org/repos/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; |
