From 035d4816c3782eca70464fa553b968dc46adee53 Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 18 Aug 2008 12:06:42 +0000 Subject: * include/ruby/io.h (rb_io_t): new fields: writeconv, writeconv_stateless and writeconv_initialized. (MakeOpenFile): initialize them. * include/ruby/encoding.h (rb_econv_stateless_encoding): declared. (rb_econv_string): declared. * io.c (make_writeconv): new function. (io_fwrite): use econv. (make_readconv): fix error message. (finish_writeconv): new function. (fptr_finalize): call finish_writeconv. (clear_writeconv): new function. (clear_codeconv): new function to call both clear_readconv and clear_writeconv. (rb_io_fptr_finalize): call clear_codeconv instead of clear_readconv. (mode_enc): ditto. (io_set_encoding): ditto. (argf_next_argv): ditto. (io_encoding_set): ditto. * gc.c (gc_mark_children): mark writeconv_stateless in T_FILE. * transcode.c (stateless_encoding_i): new function. (rb_econv_stateless_encoding): ditto. (rb_econv_string): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index d2f166aa56..9ead4833be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,33 @@ +Mon Aug 18 21:02:08 2008 Tanaka Akira + + * include/ruby/io.h (rb_io_t): new fields: writeconv, + writeconv_stateless and writeconv_initialized. + (MakeOpenFile): initialize them. + + * include/ruby/encoding.h (rb_econv_stateless_encoding): declared. + (rb_econv_string): declared. + + * io.c (make_writeconv): new function. + (io_fwrite): use econv. + (make_readconv): fix error message. + (finish_writeconv): new function. + (fptr_finalize): call finish_writeconv. + (clear_writeconv): new function. + (clear_codeconv): new function to call both clear_readconv and + clear_writeconv. + (rb_io_fptr_finalize): call clear_codeconv instead of + clear_readconv. + (mode_enc): ditto. + (io_set_encoding): ditto. + (argf_next_argv): ditto. + (io_encoding_set): ditto. + + * gc.c (gc_mark_children): mark writeconv_stateless in T_FILE. + + * transcode.c (stateless_encoding_i): new function. + (rb_econv_stateless_encoding): ditto. + (rb_econv_string): ditto. + Mon Aug 18 17:23:38 2008 Tanaka Akira * io.c (clear_readconv): extracted from rb_io_fptr_finalize. -- cgit v1.2.3