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

ruby-changes:7744

From: akr <ko1@a...>
Date: Tue, 9 Sep 2008 20:19:17 +0900 (JST)
Subject: [ruby-changes:7744] Ruby:r19265 (trunk): * transcode.c (rb_econv_open0): num_encoders and num_decoders removed.

akr	2008-09-09 20:18:59 +0900 (Tue, 09 Sep 2008)

  New Revision: 19265

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

  Log:
    * transcode.c (rb_econv_open0): num_encoders and num_decoders removed.

  Modified files:
    trunk/ChangeLog
    trunk/transcode.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19264)
+++ ChangeLog	(revision 19265)
@@ -1,3 +1,7 @@
+Tue Sep  9 20:18:26 2008  Tanaka Akira  <akr@f...>
+
+	* transcode.c (rb_econv_open0): num_encoders and num_decoders removed.
+
 Tue Sep  9 03:59:13 2008  Tanaka Akira  <akr@f...>
 
 	* io.c (make_writeconv): useless branch removed.
Index: transcode.c
===================================================================
--- transcode.c	(revision 19264)
+++ transcode.c	(revision 19265)
@@ -891,11 +891,6 @@
     rb_encoding *senc, *denc;
     int sidx, didx;
 
-    int num_encoders, num_decoders;
-
-    num_encoders = 0;
-    num_decoders = 0;
-
     senc = NULL;
     if (*sname) {
         sidx = rb_enc_find_index(sname);
@@ -914,23 +909,20 @@
 
     if (*sname == '\0' && *dname == '\0') {
         num_trans = 0;
-        entries = ALLOC_N(transcoder_entry_t *, num_encoders+num_decoders);
+        entries = NULL;
     }
     else {
         struct trans_open_t toarg;
         toarg.entries = NULL;
-        toarg.num_additional = num_encoders+num_decoders;
+        toarg.num_additional = 0;
         num_trans = transcode_search_path(sname, dname, trans_open_i, (void *)&toarg);
         entries = toarg.entries;
+        if (num_trans < 0) {
+            xfree(entries);
+            return NULL;
+        }
     }
 
-    if (num_trans < 0 || !entries) {
-        xfree(entries);
-        return NULL;
-    }
-
-    num_trans += num_encoders + num_decoders;
-
     ec = rb_econv_open_by_transcoder_entries(num_trans, entries);
     xfree(entries);
     if (!ec)
@@ -940,12 +932,12 @@
     ec->source_encoding_name = sname;
     ec->destination_encoding_name = dname;
 
-    if (num_trans == num_encoders + num_decoders) {
+    if (num_trans == 0) {
         ec->last_tc = NULL;
         ec->last_trans_index = -1;
     }
     else {
-        ec->last_trans_index = ec->num_trans-1-num_decoders;
+        ec->last_trans_index = ec->num_trans-1;
         ec->last_tc = ec->elems[ec->last_trans_index].tc;
     }
 

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

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