* transcode.c (transcode_restartable0): revert last commit because
this change cause SEGV at test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
439ad47eb8
commit
d3027870ee
@ -1,3 +1,8 @@
|
|||||||
|
Sun Jun 14 13:58:32 2009 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
|
* 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@ruby-lang.org>
|
Sun Jun 14 10:49:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* file.c (rb_find_file_ext, rb_find_file): canonicalize absolute
|
* file.c (rb_find_file_ext, rb_find_file): canonicalize absolute
|
||||||
|
19
transcode.c
19
transcode.c
@ -540,16 +540,15 @@ transcode_restartable0(const unsigned char **in_pos, unsigned char **out_pos,
|
|||||||
follow_info:
|
follow_info:
|
||||||
switch (next_info & 0x1F) {
|
switch (next_info & 0x1F) {
|
||||||
case NOMAP:
|
case NOMAP:
|
||||||
{
|
{
|
||||||
const unsigned char *char_start;
|
const unsigned char *pend = in_p;
|
||||||
size_t char_len, i = 0;
|
in_p = inchar_start;
|
||||||
char_start = transcode_char_start(tc, *in_pos, inchar_start, in_p, &char_len);
|
while (in_p < pend) {
|
||||||
while (i < char_len) {
|
next_byte = (unsigned char)*in_p++;
|
||||||
SUSPEND_OBUF(3);
|
SUSPEND_OBUF(3); *out_p++ = next_byte;
|
||||||
*out_p++ = char_start[i++];
|
}
|
||||||
}
|
}
|
||||||
}
|
continue;
|
||||||
continue;
|
|
||||||
case 0x00: case 0x04: case 0x08: case 0x0C:
|
case 0x00: case 0x04: case 0x08: case 0x0C:
|
||||||
case 0x10: case 0x14: case 0x18: case 0x1C:
|
case 0x10: case 0x14: case 0x18: case 0x1C:
|
||||||
SUSPEND_AFTER_OUTPUT(25);
|
SUSPEND_AFTER_OUTPUT(25);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user