ruby-changes:8158
From: naruse <ko1@a...>
Date: Sun, 5 Oct 2008 17:47:15 +0900 (JST)
Subject: [ruby-changes:8158] Ruby:r19686 (trunk): * ext/stringio/stringio.c (strio_set_encoding): defined for
naruse 2008-10-05 17:47:01 +0900 (Sun, 05 Oct 2008) New Revision: 19686 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19686 Log: * ext/stringio/stringio.c (strio_set_encoding): defined for StringIO#set_encoding. Modified files: trunk/ChangeLog trunk/ext/stringio/stringio.c Index: ChangeLog =================================================================== --- ChangeLog (revision 19685) +++ ChangeLog (revision 19686) @@ -1,3 +1,8 @@ +Sun Oct 5 17:39:21 2008 NARUSE, Yui <naruse@r...> + + * ext/stringio/stringio.c (strio_set_encoding): defined for + StringIO#set_encoding. + Sun Oct 5 11:24:42 2008 NARUSE, Yui <naruse@r...> * eval.c: come back definition of environ. Index: ext/stringio/stringio.c =================================================================== --- ext/stringio/stringio.c (revision 19685) +++ ext/stringio/stringio.c (revision 19686) @@ -1245,6 +1245,23 @@ } /* + * call-seq: + * strio.set_encoding(ext_enc) => strio + * + * Tagged with the encoding specified. + */ + +static VALUE +strio_set_encoding(VALUE self, VALUE ext_enc) +{ + rb_encoding* enc; + VALUE str = StringIO(self)->string; + enc = rb_to_encoding(ext_enc); + rb_enc_associate(str, enc); + return self; +} + +/* * Pseudo I/O on String object. */ void @@ -1322,4 +1339,5 @@ rb_define_method(StringIO, "external_encoding", strio_external_encoding, 0); rb_define_method(StringIO, "internal_encoding", strio_internal_encoding, 0); + rb_define_method(StringIO, "set_encoding", strio_set_encoding, 1); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/