diff options
Diffstat (limited to 'transcode.c')
-rw-r--r-- | transcode.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/transcode.c b/transcode.c index 0182a205c2..b640008206 100644 --- a/transcode.c +++ b/transcode.c @@ -4388,13 +4388,10 @@ ecerr_incomplete_input(VALUE self) * correspond with a known converter. */ +#undef rb_intern void Init_transcode(void) { - rb_eUndefinedConversionError = rb_define_class_under(rb_cEncoding, "UndefinedConversionError", rb_eEncodingError); - rb_eInvalidByteSequenceError = rb_define_class_under(rb_cEncoding, "InvalidByteSequenceError", rb_eEncodingError); - rb_eConverterNotFoundError = rb_define_class_under(rb_cEncoding, "ConverterNotFoundError", rb_eEncodingError); - transcoder_table = st_init_strcasetable(); sym_invalid = ID2SYM(rb_intern("invalid")); @@ -4426,6 +4423,16 @@ Init_transcode(void) sym_lf = ID2SYM(rb_intern("lf")); #endif + InitVM(transcode); +} + +void +InitVM_transcode(void) +{ + rb_eUndefinedConversionError = rb_define_class_under(rb_cEncoding, "UndefinedConversionError", rb_eEncodingError); + rb_eInvalidByteSequenceError = rb_define_class_under(rb_cEncoding, "InvalidByteSequenceError", rb_eEncodingError); + rb_eConverterNotFoundError = rb_define_class_under(rb_cEncoding, "ConverterNotFoundError", rb_eEncodingError); + rb_define_method(rb_cString, "encode", str_encode, -1); rb_define_method(rb_cString, "encode!", str_encode_bang, -1); |