summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--encoding.c3
2 files changed, 7 insertions, 1 deletions
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 <naruse@ruby-lang.org>
+
+ * 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 <nobu@ruby-lang.org>
* 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 *