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

ruby-changes:8146

From: naruse <ko1@a...>
Date: Sat, 4 Oct 2008 18:56:38 +0900 (JST)
Subject: [ruby-changes:8146] Ruby:r19674 (trunk): * ext/stringio/stringio.c (strio_external_encoding): defined.

naruse	2008-10-04 18:56:20 +0900 (Sat, 04 Oct 2008)

  New Revision: 19674

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

  Log:
    * ext/stringio/stringio.c (strio_external_encoding): defined.
    
    * ext/stringio/stringio.c (strio_internal_encoding): defined.
    
    * ext/stringio/stringio.c (Init_stringio): define above.

  Modified files:
    trunk/ChangeLog
    trunk/ext/stringio/stringio.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19673)
+++ ChangeLog	(revision 19674)
@@ -1,3 +1,11 @@
+Sat Oct  4 18:47:22 2008  NARUSE, Yui  <naruse@r...>
+
+	* ext/stringio/stringio.c (strio_external_encoding): defined.
+
+	* ext/stringio/stringio.c (strio_internal_encoding): defined.
+
+	* ext/stringio/stringio.c (Init_stringio): define above.
+
 Sat Oct  4 15:52:17 2008  Yuki Sonoda (Yugui)  <yugui@y...>
 
 	* test/mini/test_mini_test.rb: recovered.
Index: ext/stringio/stringio.c
===================================================================
--- ext/stringio/stringio.c	(revision 19673)
+++ ext/stringio/stringio.c	(revision 19674)
@@ -1217,6 +1217,34 @@
 }
 
 /*
+ *  call-seq:
+ *     strio.external_encoding   => encoding
+ *
+ *  Returns the Encoding object that represents the encoding of the file.
+ *  If strio is write mode and no encoding is specified, returns <code>nil</code>.
+ */
+
+static VALUE
+strio_external_encoding(VALUE self)
+{
+    return rb_enc_from_encoding(rb_enc_get(StringIO(self)->string));
+}
+
+/*
+ *  call-seq:
+ *     strio.internal_encoding   => encoding
+ *
+ *  Returns the Encoding of the internal string if conversion is
+ *  specified.  Otherwise returns nil.
+ */
+
+static VALUE
+strio_internal_encoding(VALUE self)
+{
+     return Qnil;
+}
+
+/*
  * Pseudo I/O on String object.
  */
 void
@@ -1291,4 +1319,7 @@
     rb_define_method(StringIO, "size", strio_size, 0);
     rb_define_method(StringIO, "length", strio_size, 0);
     rb_define_method(StringIO, "truncate", strio_truncate, 1);
+
+    rb_define_method(StringIO, "external_encoding", strio_external_encoding, 0);
+    rb_define_method(StringIO, "internal_encoding", strio_internal_encoding, 0);
 }

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

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