diff --git a/ChangeLog b/ChangeLog index ca520dcbe2..1918cc2295 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Aug 20 14:49:42 2004 NAKAMURA Usaku + + * io.c (rb_io_check_writable): no need to check read buffer if + already changed to write mode. + Fri Aug 20 11:46:43 2004 UENO Katsuhiro * ext/zlib/zlib.c: GzipReader#ungetc caused crc error. diff --git a/io.c b/io.c index d64e41d683..45056040bb 100644 --- a/io.c +++ b/io.c @@ -254,7 +254,7 @@ rb_io_check_writable(fptr) if (!(fptr->mode & FMODE_WRITABLE)) { rb_raise(rb_eIOError, "not opened for writing"); } - if (READ_DATA_BUFFERED(fptr->f)) { + if ((fptr->mode & FMODE_RBUF) && READ_DATA_BUFFERED(fptr->f)) { rb_warn("read buffer data lost"); } #if NEED_IO_SEEK_BETWEEN_RW