diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-10 23:16:28 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-10 23:16:28 +0900 |
| commit | affb5cb7c2e91ea38640ea0580af34a5f7cabf93 (patch) | |
| tree | 8783bdd9105b537b7c7eb3072f65f4f7ba4e8c98 /src | |
| parent | 4e40121f71aaba2caa325ef30c163c2692b93aa6 (diff) | |
| download | mruby-affb5cb7c2e91ea38640ea0580af34a5f7cabf93.tar.gz mruby-affb5cb7c2e91ea38640ea0580af34a5f7cabf93.zip | |
remove encode_class and converter_class from mrb_state
Diffstat (limited to 'src')
| -rw-r--r-- | src/encoding.c | 12 | ||||
| -rw-r--r-- | src/encoding.h | 3 | ||||
| -rw-r--r-- | src/transcode.c | 5 |
3 files changed, 11 insertions, 9 deletions
diff --git a/src/encoding.c b/src/encoding.c index ea350e497..b04cff33b 100644 --- a/src/encoding.c +++ b/src/encoding.c @@ -103,7 +103,7 @@ static const struct mrb_data_type encoding_data_type = { static mrb_value enc_new(mrb_state *mrb, mrb_encoding *encoding) { - return mrb_obj_value(Data_Wrap_Struct(mrb, mrb->encode_class, &encoding_data_type, encoding)); + return mrb_obj_value(Data_Wrap_Struct(mrb, ENCODE_CLASS, &encoding_data_type, encoding)); } #define enc_autoload_p(enc) (!mrb_enc_mbmaxlen(enc)) @@ -1139,7 +1139,7 @@ mrb_usascii_encindex(void) int mrb_locale_encindex(mrb_state *mrb) { - mrb_value charmap = mrb_locale_charmap(mrb, mrb_obj_value(mrb->encode_class)); + mrb_value charmap = mrb_locale_charmap(mrb, mrb_obj_value(ENCODE_CLASS)); int idx; if (mrb_nil_p(charmap)) @@ -1493,7 +1493,7 @@ set_encoding_const(mrb_state *mrb, const char *name, mrb_encoding *enc) if (s - name > ENCODING_NAMELEN_MAX) return; valid = 1; //mrb_define_const(mrb_cEncoding, name, encoding); - mrb_define_const(mrb, mrb->encode_class, name, encoding); + mrb_define_const(mrb, ENCODE_CLASS, name, encoding); } if (!valid || haslower) { size_t len = s - name; @@ -1516,14 +1516,14 @@ set_encoding_const(mrb_state *mrb, const char *name, mrb_encoding *enc) if (!ISALNUM(*s)) *s = '_'; } if (hasupper) { - mrb_define_const(mrb, mrb->encode_class, name, encoding); + mrb_define_const(mrb, ENCODE_CLASS, name, encoding); } } if (haslower) { for (s = (char *)name; *s; ++s) { if (ISLOWER(*s)) *s = ONIGENC_ASCII_CODE_TO_UPPER_CASE((int)*s); } - mrb_define_const(mrb, mrb->encode_class, name, encoding); + mrb_define_const(mrb, ENCODE_CLASS, name, encoding); } } } @@ -1617,7 +1617,7 @@ mrb_init_encoding(mrb_state *mrb) int i; struct RClass *s; - s = mrb->encode_class = mrb_define_class(mrb, "Encoding", mrb->object_class); + s = mrb_define_class(mrb, "Encoding", mrb->object_class); //mrb_undef_alloc_func(mrb_cEncoding); //mrb_undef_method(CLASS_OF(mrb_cEncoding), "new"); mrb_define_class_method(mrb, s, "aliases", mrb_enc_aliases, ARGS_NONE()); /* 15.2.40.2.1 */ diff --git a/src/encoding.h b/src/encoding.h index 0cae09db0..b923ab98f 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -348,6 +348,9 @@ void mrb_econv_binmode(mrb_econv_t *ec); int mrb_isspace(int c); +#define ENCODE_CLASS (mrb_class_obj_get(mrb, "Encoding")) +#define CONVERTER_CLASS (mrb_class_obj_get(mrb, "Converter")) + #if defined(__cplusplus) } /* extern "C" { */ #endif diff --git a/src/transcode.c b/src/transcode.c index 1240081e6..42c86d167 100644 --- a/src/transcode.c +++ b/src/transcode.c @@ -4273,7 +4273,6 @@ extern void Init_newline(void); void mrb_init_transcode(mrb_state *mrb) { - struct RClass *e; struct RClass *s; struct RClass *c; struct RClass *u; @@ -4281,7 +4280,7 @@ mrb_init_transcode(mrb_state *mrb) struct RClass *eConverterNotFoundError_class; struct RClass *eInvalidByteSequenceError_class; struct RClass *eUndefinedConversionError_class; - e = mrb->encode_class; + eUndefinedConversionError_class = mrb_define_class(mrb, "UndefinedConversionError", E_ENCODING_ERROR); eInvalidByteSequenceError_class = mrb_define_class(mrb, "InvalidByteSequenceError", E_ENCODING_ERROR); eConverterNotFoundError_class = mrb_define_class(mrb, "ConverterNotFoundError", E_ENCODING_ERROR); @@ -4312,7 +4311,7 @@ mrb_init_transcode(mrb_state *mrb) mrb_define_method(mrb, s, "encode", str_encode, ARGS_ANY()); mrb_define_method(mrb, s, "encode!", str_encode_bang, ARGS_ANY()); - c = mrb->converter_class = mrb_define_class(mrb, "Converter", mrb->encode_class); + c = mrb_define_class(mrb, "Converter", ENCODE_CLASS); //mrb_cEncodingConverter = rb_define_class_under(mrb_cEncoding, "Converter", rb_cData); //mrb_define_alloc_func(mrb_cEncodingConverter, econv_s_allocate); mrb_define_class_method(mrb, c, "asciicompat_encoding", econv_s_asciicompat_encoding, ARGS_REQ(1)); /* 1 */ |
