diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-21 06:59:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-21 06:59:48 +0000 |
commit | 12df6cf7cece79a1d5d99037b35b6a28c3c3296c (patch) | |
tree | 05cb8f23c43b7fcd17dad6e3b84a228d24885a3b /encoding.c | |
parent | 328e6a02bf19c4b0397a6a2e066b273e7dd339de (diff) | |
download | ruby-12df6cf7cece79a1d5d99037b35b6a28c3c3296c.tar.gz |
* encoding.c (rb_enc_init): use enc_register_at() directly.
* encoding.c (rb_utf8_encoding): returns utf-8 encoding.
* include/ruby/encoding.h (rb_utf8_encoding): prototyped.
* parse.y (UTF8_ENC): uses rb_utf8_encoding().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r-- | encoding.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/encoding.c b/encoding.c index 819ac54071..47646cc36c 100644 --- a/encoding.c +++ b/encoding.c @@ -236,14 +236,23 @@ rb_enc_alias(const char *alias, const char *orig) return enc_alias(alias, orig); } +enum { + ENCINDEX_ASCII, + ENCINDEX_EUC_JP, + ENCINDEX_SJIS, + ENCINDEX_UTF8, + ENCINDEX_BUILTIN_MAX +}; + void rb_enc_init(void) { -#define ENC_REGISTER(enc) enc_register(rb_enc_name(enc), enc) - ENC_REGISTER(ONIG_ENCODING_ASCII); - ENC_REGISTER(ONIG_ENCODING_EUC_JP); - ENC_REGISTER(ONIG_ENCODING_SJIS); - ENC_REGISTER(ONIG_ENCODING_UTF8); + enc_table_count = enc_table_expand(ENCINDEX_BUILTIN_MAX); +#define ENC_REGISTER(enc) enc_register_at(ENCINDEX_##enc, rb_enc_name(ONIG_ENCODING_##enc), ONIG_ENCODING_##enc) + ENC_REGISTER(ASCII); + ENC_REGISTER(EUC_JP); + ENC_REGISTER(SJIS); + ENC_REGISTER(UTF8); #undef ENC_REGISTER enc_alias("ASCII", rb_enc_name(ONIG_ENCODING_ASCII)); enc_alias("BINARY", rb_enc_name(ONIG_ENCODING_ASCII)); @@ -695,6 +704,15 @@ rb_default_encoding(void) return enc_table[0].enc; } +rb_encoding * +rb_utf8_encoding(void) +{ + if (!enc_table) { + rb_enc_init(); + } + return enc_table[ENCINDEX_UTF8].enc; +} + static int default_external_index; rb_encoding * |