diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/stringio/stringio.c | 2 |
2 files changed, 5 insertions, 2 deletions
@@ -1,4 +1,7 @@ -Mon Jul 1 15:03:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> +Mon Jul 1 15:04:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/stringio/stringio.c (strio_write): keep coderange of + ptr->string. * string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty string 7bit-clean and should not discard cached coderange of string diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index d15db8b076..57854919cd 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -1182,7 +1182,7 @@ strio_write(VALUE self, VALUE str) ptr->pos = olen; } if (ptr->pos == olen) { - rb_str_cat(ptr->string, RSTRING_PTR(str), len); + rb_enc_str_buf_cat(ptr->string, RSTRING_PTR(str), len, enc); } else { strio_extend(ptr, ptr->pos, len); |