* io.c (argf_set_encoding): uses current_file after check for next

input.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-02-21 05:47:12 +00:00
Родитель 3ce61d2a63
Коммит 7f2ca5ba7a
4 изменённых файлов: 13 добавлений и 5 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu Feb 21 14:47:09 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (argf_set_encoding): uses current_file after check for next
input.
Thu Feb 21 11:10:49 2008 NARUSE, Yui <naruse@ruby-lang.org>
* string.c: replace rb_enc_copy by rb_enc_cr_str_copy or

Просмотреть файл

@ -69,3 +69,7 @@ assert_equal 'ok', %q{
File.unlink(tmpname)
:ok
}
assert_normal_exit %q{
ARGF.set_encoding "foo"
}

Просмотреть файл

@ -57,7 +57,3 @@ assert_normal_exit %q{
assert_normal_exit %q{
"".center(1, "\x80".force_encoding("utf-8"))
}, '[ruby-dev:33807]'
assert_normal_exit %q{
ARGF.set_encoding "foo"
}

5
io.c
Просмотреть файл

@ -6103,8 +6103,11 @@ argf_set_encoding(int argc, VALUE *argv, VALUE io)
{
rb_io_t *fptr;
if (next_argv()) {
rb_raise(rb_eArgError, "no stream to set encoding");
}
rb_io_set_encoding(argc, argv, current_file);
GetOpenFile(io, fptr);
GetOpenFile(current_file, fptr);
argf_enc = fptr->enc;
argf_enc2 = fptr->enc2;
return io;