From f7554133b2dd050585f0714cc2729edf6d9291f9 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 29 Sep 2009 00:34:00 +0000 Subject: [PATCH] * encoding.c (rb_enc_unicode_p): defined. Returns 1 when the encoding is Unicode series other than UTF-7 else 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ encoding.c | 9 +++++++++ include/ruby/encoding.h | 1 + 3 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6fc369454a..1b01b95527 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Sep 29 06:49:16 2009 NARUSE, Yui + + * encoding.c (rb_enc_unicode_p): defined. + Returns 1 when the encoding is Unicode series + other than UTF-7 else 0. + Tue Sep 29 04:14:08 2009 NARUSE, Yui * encoding.c (rb_filesystem_encoding): On Unix systems, diff --git a/encoding.c b/encoding.c index c8fa8ee5ed..9886556e93 100644 --- a/encoding.c +++ b/encoding.c @@ -393,6 +393,15 @@ enc_ascii_compatible_p(VALUE enc) return rb_enc_asciicompat(enc_table.list[must_encoding(enc)].enc) ? Qtrue : Qfalse; } +/* + * Returns 1 when the encoding is Unicode series other than UTF-7 else 0. + */ +int +rb_enc_unicode_p(rb_encoding *enc) +{ + return rb_utf8_encoding()->is_code_ctype == enc->is_code_ctype; +} + static const char * enc_alias_internal(const char *alias, int idx) { diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h index 30527779a9..500725e72e 100644 --- a/include/ruby/encoding.h +++ b/include/ruby/encoding.h @@ -176,6 +176,7 @@ long rb_str_coderange_scan_restartable(const char*, const char*, rb_encoding*, i int rb_enc_str_asciionly_p(VALUE); #define rb_enc_str_asciicompat_p(str) rb_enc_asciicompat(rb_enc_get(str)) VALUE rb_enc_from_encoding(rb_encoding *enc); +int rb_enc_unicode_p(rb_encoding *enc); rb_encoding *rb_ascii8bit_encoding(void); rb_encoding *rb_utf8_encoding(void); rb_encoding *rb_usascii_encoding(void);