ruby-changes:3658
From: ko1@a...
Date: Mon, 21 Jan 2008 03:46:09 +0900 (JST)
Subject: [ruby-changes:3658] nobu - Ruby:r15147 (trunk): * string.c (rb_str_each_char): advance offset before get next char
nobu 2008-01-21 03:45:51 +0900 (Mon, 21 Jan 2008) New Revision: 15147 Modified files: trunk/ChangeLog trunk/string.c trunk/version.h Log: * string.c (rb_str_each_char): advance offset before get next char length. [ruby-dev:33211] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/version.h?r1=15147&r2=15146&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=15147&r2=15146&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15147&r2=15146&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 15146) +++ ChangeLog (revision 15147) @@ -1,3 +1,8 @@ +Mon Jan 21 03:45:49 2008 Nobuyoshi Nakada <nobu@r...> + + * string.c (rb_str_each_char): advance offset before get next char + length. [ruby-dev:33211] + Sun Jan 20 20:00:20 2008 Martin Duerst <duerst@i...> * transcode.c, enc/trans/utf_16_32.c, test/ruby/test_transcode.rb: Index: string.c =================================================================== --- string.c (revision 15146) +++ string.c (revision 15147) @@ -4599,10 +4599,11 @@ len = RSTRING_LEN(str); enc = rb_enc_get(str); n = rb_enc_mbclen(ptr, ptr + len, enc); - for (i = 0; i < len; i += n) { + for (i = 0; i < len;) { rb_yield(rb_str_subseq(str, i, n)); ptr = RSTRING_PTR(str); len = RSTRING_LEN(str); + if ((i += n) >= len) break; enc = rb_enc_get(str); s = rb_enc_left_char_head(ptr, ptr + i, enc); n = rb_enc_mbclen(s, ptr + len, enc); Index: version.h =================================================================== --- version.h (revision 15146) +++ version.h (revision 15147) @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2008-01-19" +#define RUBY_RELEASE_DATE "2008-01-21" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20080119 +#define RUBY_RELEASE_CODE 20080121 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 19 +#define RUBY_RELEASE_DAY 21 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/