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/