From d13e191d2593093f3c34a2cb6778d8676ca54d6f Mon Sep 17 00:00:00 2001 From: naruse Date: Mon, 31 May 2010 05:46:58 +0000 Subject: [PATCH] * encoding.c (rb_enc_unicode_p): check the encoding is Unicode or not by the name; not function's pointer. [ruby-dev:41479] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ encoding.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d6ed132049..ea694293e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon May 31 13:44:40 2010 NARUSE, Yui + + * encoding.c (rb_enc_unicode_p): check the encoding is Unicode + or not by the name; not function's pointer. [ruby-dev:41479] + Mon May 31 04:03:43 2010 Nobuyoshi Nakada * file.c (file_expand_path): check if expanded dname encoding is diff --git a/encoding.c b/encoding.c index 83607d5103..a7950a8251 100644 --- a/encoding.c +++ b/encoding.c @@ -420,7 +420,8 @@ enc_ascii_compatible_p(VALUE enc) int rb_enc_unicode_p(rb_encoding *enc) { - return rb_utf8_encoding()->is_code_ctype == enc->is_code_ctype; + const char *name = rb_enc_name(enc); + return name[0] == 'U' && name[1] == 'T' && name[2] == 'F' && name[4] != '7'; } static const char *