From 8776802385c3d87966d32a6171857abb7dac6998 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 1 Jul 2013 06:04:23 +0000 Subject: [PATCH] stringio.c: keep coderange * ext/stringio/stringio.c (strio_write): keep coderange of ptr->string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- ext/stringio/stringio.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6f9a67bb0e..261d426c90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ -Mon Jul 1 15:03:42 2013 Nobuyoshi Nakada +Mon Jul 1 15:04:20 2013 Nobuyoshi Nakada + + * 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);