[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]