ruby-changes:7631
From: akr <ko1@a...>
Date: Fri, 5 Sep 2008 20:16:47 +0900 (JST)
Subject: [ruby-changes:7631] Ruby:r19152 (trunk): * enc/trans/newline.trans (universal_newline_finish): new function.
akr 2008-09-05 20:16:28 +0900 (Fri, 05 Sep 2008) New Revision: 19152 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19152 Log: * enc/trans/newline.trans (universal_newline_finish): new function. Modified files: trunk/ChangeLog trunk/enc/trans/newline.trans Index: ChangeLog =================================================================== --- ChangeLog (revision 19151) +++ ChangeLog (revision 19152) @@ -1,3 +1,7 @@ +Fri Sep 5 20:12:23 2008 Tanaka Akira <akr@f...> + + * enc/trans/newline.trans (universal_newline_finish): new function. + Fri Sep 5 20:07:37 2008 Tanaka Akira <akr@f...> * include/ruby/io.h (rb_io_mode_modenum): moved from Index: enc/trans/newline.trans =================================================================== --- enc/trans/newline.trans (revision 19151) +++ enc/trans/newline.trans (revision 19152) @@ -41,7 +41,7 @@ } static int -fun_so_universal_newline(void *statep, const unsigned char* s, size_t l, unsigned char* o) +fun_so_universal_newline(void *statep, const unsigned char *s, size_t l, unsigned char *o) { unsigned char *sp = statep; int len; @@ -75,6 +75,16 @@ return len; } +static int +universal_newline_finish(void *statep, unsigned char *o) +{ + unsigned char *sp = statep; + if (STATE == JUST_AFTER_CR) + NEWLINES_MET |= MET_CR; + STATE = NORMAL; + return 0; +} + static const rb_transcoder rb_universal_newline = { "universal_newline", "", universal_newline, @@ -84,7 +94,8 @@ 1, /* max_output */ stateful_decoder, /* stateful_type */ 2, universal_newline_init, universal_newline_init, /* state_size, state_init, state_fini */ - NULL, NULL, NULL, fun_so_universal_newline + NULL, NULL, NULL, fun_so_universal_newline, + universal_newline_finish }; static const rb_transcoder -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/