diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-19 11:08:16 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-19 11:08:16 +0000 |
commit | 5d5d0b5c38e0d4259f9c775d88dc2177f5e943ba (patch) | |
tree | 2a7a50ae8b045aa04d912e4a2cb8fea7dd5c9a2e /encoding.c | |
parent | c7697aba346c6928164ef53151f3e1090a1176e8 (diff) |
* encoding.c (rb_id_encoding): returns ID "encoding".
* marshal.c (w_encoding): dump encoding name.
* marshal.c (r_ivar): load encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r-- | encoding.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/encoding.c b/encoding.c index 289fba72f9..a67e49fefb 100644 --- a/encoding.c +++ b/encoding.c @@ -267,6 +267,15 @@ enc_check_capable(VALUE x) } } +ID +rb_id_encoding(void) +{ + if (!id_encoding) { + id_encoding = rb_intern("encoding"); + } + return id_encoding; +} + void rb_enc_associate_index(VALUE obj, int idx) { @@ -280,10 +289,7 @@ rb_enc_associate_index(VALUE obj, int idx) return; } ENCODING_SET(obj, ENCODING_INLINE_MAX); - if (!id_encoding) { - id_encoding = rb_intern("encoding"); - } - rb_ivar_set(obj, id_encoding, INT2NUM(idx)); + rb_ivar_set(obj, rb_id_encoding(), INT2NUM(idx)); return; } @@ -317,10 +323,7 @@ rb_enc_get_index(VALUE obj) if (i == ENCODING_INLINE_MAX) { VALUE iv; - if (!id_encoding) { - id_encoding = rb_intern("encoding"); - } - iv = rb_ivar_get(obj, id_encoding); + iv = rb_ivar_get(obj, rb_id_encoding()); i = NUM2INT(iv); } return i; |