ruby-changes:7132
From: akr <ko1@a...>
Date: Sat, 16 Aug 2008 08:13:19 +0900 (JST)
Subject: [ruby-changes:7132] Ruby:r18650 (trunk): * transcode_data.h (rb_transcoder_stateful_type_t): defined.
akr 2008-08-16 08:13:01 +0900 (Sat, 16 Aug 2008) New Revision: 18650 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18650 Log: * transcode_data.h (rb_transcoder_stateful_type_t): defined. (rb_transcoder): add field: stateful_type. * tool/transcode-tblgen.rb: generate stateful_type field as stateless_converter. * enc/trans/iso2022.trans: follow rb_transcoder change. * enc/trans/newline.trans: ditto. * enc/trans/utf_16_32.trans: ditto. Modified files: trunk/ChangeLog trunk/enc/trans/iso2022.trans trunk/enc/trans/newline.trans trunk/enc/trans/utf_16_32.trans trunk/tool/transcode-tblgen.rb trunk/transcode_data.h Index: ChangeLog =================================================================== --- ChangeLog (revision 18649) +++ ChangeLog (revision 18650) @@ -1,3 +1,17 @@ +Sat Aug 16 08:11:04 2008 Tanaka Akira <akr@f...> + + * transcode_data.h (rb_transcoder_stateful_type_t): defined. + (rb_transcoder): add field: stateful_type. + + * tool/transcode-tblgen.rb: generate stateful_type field as + stateless_converter. + + * enc/trans/iso2022.trans: follow rb_transcoder change. + + * enc/trans/newline.trans: ditto. + + * enc/trans/utf_16_32.trans: ditto. + Fri Aug 15 23:07:48 2008 Tanaka Akira <akr@f...> * transcode.c (econv_just_convert): extracted from rb_econv_output. Index: enc/trans/iso2022.trans =================================================================== --- enc/trans/iso2022.trans (revision 18649) +++ enc/trans/iso2022.trans (revision 18650) @@ -61,6 +61,7 @@ 1, /* input_unit_length */ 3, /* max_input */ 3, /* max_output */ + stateful_decoder, /* stateful_type */ NULL, fun_si_iso2022jp_to_eucjp, NULL, fun_so_iso2022jp_to_eucjp }; @@ -144,6 +145,7 @@ 1, /* input_unit_length */ 3, /* max_input */ 5, /* max_output */ + stateful_encoder, /* stateful_type */ NULL, NULL, NULL, fun_so_eucjp_to_iso2022jp, finish_eucjp_to_iso2022jp, iso2022jp_reset_sequence_size, finish_eucjp_to_iso2022jp Index: enc/trans/newline.trans =================================================================== --- enc/trans/newline.trans (revision 18649) +++ enc/trans/newline.trans (revision 18650) @@ -44,6 +44,7 @@ 1, /* input_unit_length */ 1, /* max_input */ 1, /* max_output */ + stateful_decoder, /* stateful_type */ NULL, NULL, NULL, fun_so_universal_newline }; @@ -61,6 +62,7 @@ 1, /* input_unit_length */ 1, /* max_input */ 2, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, NULL }; @@ -78,6 +80,7 @@ 1, /* input_unit_length */ 1, /* max_input */ 1, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, NULL }; Index: enc/trans/utf_16_32.trans =================================================================== --- enc/trans/utf_16_32.trans (revision 18649) +++ enc/trans/utf_16_32.trans (revision 18650) @@ -235,6 +235,7 @@ 2, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_from_utf_16be }; @@ -259,6 +260,7 @@ 1, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_to_utf_16be }; @@ -275,6 +277,7 @@ 2, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_from_utf_16le }; @@ -284,6 +287,7 @@ 1, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_to_utf_16le }; @@ -300,6 +304,7 @@ 4, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_from_utf_32be }; @@ -309,6 +314,7 @@ 1, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_to_utf_32be }; @@ -325,6 +331,7 @@ 4, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_from_utf_32le }; @@ -334,6 +341,7 @@ 1, /* input_unit_length */ 4, /* max_input */ 4, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, &fun_so_to_utf_32le }; Index: transcode_data.h =================================================================== --- transcode_data.h (revision 18649) +++ transcode_data.h (revision 18650) @@ -56,6 +56,13 @@ #define TWOTRAIL /* legal but undefined if two more trailing UTF-8 */ #define THREETRAIL /* legal but undefined if three more trailing UTF-8 */ +typedef enum { + stateless_converter, /* stateless -> stateless */ + stateful_decoder, /* stateful -> stateless */ + stateful_encoder /* stateless -> stateful */ + /* stateful -> stateful is intentionally ommitted. */ +} rb_transcoder_stateful_type_t; + typedef struct rb_transcoder rb_transcoder; /* dynamic structure, one per conversion (similar to iconv_t) */ @@ -103,6 +110,7 @@ int input_unit_length; int max_input; int max_output; + rb_transcoder_stateful_type_t stateful_type; VALUE (*func_ii)(rb_transcoding*, VALUE); /* info -> info */ VALUE (*func_si)(rb_transcoding*, const unsigned char*, size_t); /* start -> info */ int (*func_io)(rb_transcoding*, VALUE, const unsigned char*); /* info -> output */ Index: tool/transcode-tblgen.rb =================================================================== --- tool/transcode-tblgen.rb (revision 18649) +++ tool/transcode-tblgen.rb (revision 18650) @@ -449,6 +449,7 @@ #{input_unit_length}, /* input_unit_length */ #{max_input}, /* max_input */ #{max_output}, /* max_output */ + stateless_converter, /* stateful_type */ NULL, NULL, NULL, NULL, NULL, NULL, NULL }; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/