ruby-changes:12024
From: ko1 <ko1@a...>
Date: Sun, 14 Jun 2009 14:51:04 +0900 (JST)
Subject: [ruby-changes:12024] Ruby:r23690 (trunk): * transcode.c (transcode_restartable0): revert last commit because
ko1 2009-06-14 14:50:46 +0900 (Sun, 14 Jun 2009) New Revision: 23690 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23690 Log: * transcode.c (transcode_restartable0): revert last commit because this change cause SEGV at test-all. Modified files: trunk/ChangeLog trunk/transcode.c Index: ChangeLog =================================================================== --- ChangeLog (revision 23689) +++ ChangeLog (revision 23690) @@ -1,3 +1,8 @@ +Sun Jun 14 13:58:32 2009 Koichi Sasada <ko1@a...> + + * transcode.c (transcode_restartable0): revert last commit because + this change cause SEGV at test-all. + Sun Jun 14 10:49:18 2009 Nobuyoshi Nakada <nobu@r...> * file.c (rb_find_file_ext, rb_find_file): canonicalize absolute Index: transcode.c =================================================================== --- transcode.c (revision 23689) +++ transcode.c (revision 23690) @@ -540,16 +540,15 @@ follow_info: switch (next_info & 0x1F) { case NOMAP: - { - const unsigned char *char_start; - size_t char_len, i = 0; - char_start = transcode_char_start(tc, *in_pos, inchar_start, in_p, &char_len); - while (i < char_len) { - SUSPEND_OBUF(3); - *out_p++ = char_start[i++]; - } - } - continue; + { + const unsigned char *pend = in_p; + in_p = inchar_start; + while (in_p < pend) { + next_byte = (unsigned char)*in_p++; + SUSPEND_OBUF(3); *out_p++ = next_byte; + } + } + continue; case 0x00: case 0x04: case 0x08: case 0x0C: case 0x10: case 0x14: case 0x18: case 0x1C: SUSPEND_AFTER_OUTPUT(25); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/