summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-22 12:56:21 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-22 12:56:21 +0000
commit242dcd23e1ed8fa10ec29812e58fdeab605013c2 (patch)
tree816dd729abc2575f07554785d6484d4996d31682
parent1208254a992a3a79b89e021a2fe1f8f35f1b9513 (diff)
downloadruby-242dcd23e1ed8fa10ec29812e58fdeab605013c2.tar.gz
ruby-242dcd23e1ed8fa10ec29812e58fdeab605013c2.tar.xz
ruby-242dcd23e1ed8fa10ec29812e58fdeab605013c2.zip
* add ascii incompatible case.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--string.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/string.c b/string.c
index da7eba3cb..bc1775431 100644
--- a/string.c
+++ b/string.c
@@ -220,7 +220,8 @@ rb_enc_cr_str_copy(VALUE dest, VALUE src)
ENC_CODERANGE_SET(dest, ENC_CODERANGE_7BIT);
break;
case ENC_CODERANGE_VALID:
- if (search_nonascii(RSTRING_PTR(dest), RSTRING_END(dest)))
+ if (!rb_enc_asciicompat(enc) ||
+ search_nonascii(RSTRING_PTR(dest), RSTRING_END(dest)))
ENC_CODERANGE_SET(dest, ENC_CODERANGE_VALID);
else
ENC_CODERANGE_SET(dest, ENC_CODERANGE_7BIT);