diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | string.c | 4 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Tue Jan 8 15:03:10 2008 Tanaka Akira <akr@fsij.org> + + * string.c (str_gsub): avoid appending empty pre-match substr. + Tue Jan 8 13:05:57 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * compile.c (iseq_build_from_ary), iseq.c (iseq_load): fix for format change. @@ -2720,7 +2720,9 @@ str_gsub(int argc, VALUE *argv, VALUE str, int bang) if (OBJ_TAINTED(val)) tainted = 1; len = beg - offset; /* copy pre-match substr */ - rb_enc_str_buf_cat(dest, cp, len, str_enc); + if (len) { + rb_enc_str_buf_cat(dest, cp, len, str_enc); + } rb_str_buf_append(dest, val); |
