* io.c (rb_io_reopen): clear read buffer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-06-11 17:25:57 +00:00
Родитель cf508bfeda
Коммит 1d09b69f62
4 изменённых файлов: 16 добавлений и 3 удалений

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

@ -1,3 +1,7 @@
Thu Jun 12 02:25:54 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_reopen): clear read buffer.
Thu Jun 12 00:56:20 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/tk: check proper conditions. [ruby-dev:35047]

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

@ -4463,6 +4463,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
if (fptr->mode & FMODE_WRITABLE) {
io_fflush(fptr);
}
fptr->rbuf_off = fptr->rbuf_len = 0;
if (fptr->stdio_file) {
if (freopen(fptr->path, mode, fptr->stdio_file) == 0) {

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

@ -1038,6 +1038,14 @@ class TestIO < Test::Unit::TestCase
safe_4 { r.reopen(t.path) }
end
end
open(__FILE__) do |f|
f.gets
assert_nothing_raised {
f.reopen(t.path)
assert_equal("foo\n", f.gets)
}
end
end
def test_foreach

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

@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
#define RUBY_RELEASE_DATE "2008-06-11"
#define RUBY_RELEASE_DATE "2008-06-12"
#define RUBY_VERSION_CODE 190
#define RUBY_RELEASE_CODE 20080611
#define RUBY_RELEASE_CODE 20080612
#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 6
#define RUBY_RELEASE_DAY 11
#define RUBY_RELEASE_DAY 12
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];