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

ruby-changes:7354

From: akr <ko1@a...>
Date: Wed, 27 Aug 2008 00:01:32 +0900 (JST)
Subject: [ruby-changes:7354] Ruby:r18872 (trunk): * include/ruby/encoding.h (rb_econv_elem_t): move to transcode.c

akr	2008-08-27 00:01:11 +0900 (Wed, 27 Aug 2008)

  New Revision: 18872

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18872

  Log:
    * include/ruby/encoding.h (rb_econv_elem_t): move to transcode.c
      (rb_econv_t): defined as an incomplete type.
    
    * transcode.c (rb_econv_elem_t): moved from encoding.h.
      (rb_econv_t): complete type defined.

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/encoding.h
    trunk/transcode.c

Index: include/ruby/encoding.h
===================================================================
--- include/ruby/encoding.h	(revision 18871)
+++ include/ruby/encoding.h	(revision 18872)
@@ -206,52 +206,12 @@
 } rb_econv_result_t;
 
 typedef struct {
-    struct rb_transcoding *tc;
-    unsigned char *out_buf_start;
-    unsigned char *out_data_start;
-    unsigned char *out_data_end;
-    unsigned char *out_buf_end;
-    rb_econv_result_t last_result;
-} rb_econv_elem_t;
-
-typedef struct {
     int flags;
     /* replacement character, etc. */
 } rb_econv_option_t;
 
-typedef struct {
-    rb_econv_option_t opts;
-    const char *source_encoding_name;
-    const char *destination_encoding_name;
+typedef struct rb_econv_t rb_econv_t;
 
-    unsigned char *in_buf_start;
-    unsigned char *in_data_start;
-    unsigned char *in_data_end;
-    unsigned char *in_buf_end;
-    rb_econv_elem_t *elems;
-    int num_trans;
-    int num_finished;
-    int last_trans_index; /* last trans, not including universal newline */
-    struct rb_transcoding *last_tc;
-
-    /* last error */
-    struct {
-        rb_econv_result_t result;
-        struct rb_transcoding *error_tc;
-        const char *source_encoding;
-        const char *destination_encoding;
-        const unsigned char *error_bytes_start;
-        size_t error_bytes_len;
-        size_t readagain_len;
-        int partial_input;
-    } last_error;
-
-    /* The following fields are only for Encoding::Converter.
-     * rb_econv_open set them NULL. */
-    rb_encoding *source_encoding;
-    rb_encoding *destination_encoding;
-} rb_econv_t;
-
 VALUE rb_str_transcode(VALUE str, VALUE to, rb_econv_option_t *ecopts);
 
 void rb_econv_opts(VALUE hash, rb_econv_option_t *opts);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18871)
+++ ChangeLog	(revision 18872)
@@ -1,3 +1,11 @@
+Tue Aug 26 23:52:24 2008  Tanaka Akira  <akr@f...>
+
+	* include/ruby/encoding.h (rb_econv_elem_t): move to transcode.c
+	  (rb_econv_t): defined as an incomplete type.
+
+	* transcode.c (rb_econv_elem_t): moved from encoding.h.
+	  (rb_econv_t): complete type defined.
+
 Tue Aug 26 22:44:12 2008  NAKAMURA Usaku  <usa@r...>
 
 	* time.c (time_asctime): workaround for MSVCRT's bug.
Index: transcode.c
===================================================================
--- transcode.c	(revision 18871)
+++ transcode.c	(revision 18872)
@@ -23,6 +23,48 @@
 
 static VALUE sym_invalid, sym_undef, sym_ignore, sym_replace;
 
+typedef struct {
+    struct rb_transcoding *tc;
+    unsigned char *out_buf_start;
+    unsigned char *out_data_start;
+    unsigned char *out_data_end;
+    unsigned char *out_buf_end;
+    rb_econv_result_t last_result;
+} rb_econv_elem_t;
+
+struct rb_econv_t {
+    rb_econv_option_t opts;
+    const char *source_encoding_name;
+    const char *destination_encoding_name;
+
+    unsigned char *in_buf_start;
+    unsigned char *in_data_start;
+    unsigned char *in_data_end;
+    unsigned char *in_buf_end;
+    rb_econv_elem_t *elems;
+    int num_trans;
+    int num_finished;
+    int last_trans_index; /* last trans, not including universal newline */
+    struct rb_transcoding *last_tc;
+
+    /* last error */
+    struct {
+        rb_econv_result_t result;
+        struct rb_transcoding *error_tc;
+        const char *source_encoding;
+        const char *destination_encoding;
+        const unsigned char *error_bytes_start;
+        size_t error_bytes_len;
+        size_t readagain_len;
+        int partial_input;
+    } last_error;
+
+    /* The following fields are only for Encoding::Converter.
+     * rb_econv_open set them NULL. */
+    rb_encoding *source_encoding;
+    rb_encoding *destination_encoding;
+};
+
 /*
  *  Dispatch data and logic
  */

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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