diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-01 08:31:49 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-01 08:31:49 +0000 |
commit | de373b1b6cddf602cad483b7ede7b378666d837c (patch) | |
tree | a528c42a0de4c92f7dd999523f0b477d2f4faa6c /io.c | |
parent | 360453ce14e637e653005232aab50e6294a3fa48 (diff) |
* io.c (rb_io_fptr_cleanup): need flush even when io will not be
closed.
* io.c (rb_io_initialize): was calling wrong function
rb_io_mode_flags().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1194,7 +1194,10 @@ rb_io_fptr_cleanup(fptr, fin) OpenFile *fptr; int fin; { - if (fptr->mode & FMODE_FDOPEN) return; + if (fptr->mode & FMODE_FDOPEN) { + io_fflush(GetWriteFile(fptr), fptr); + return; + } if (fptr->finalize) { (*fptr->finalize)(fptr); } @@ -2609,7 +2612,7 @@ rb_io_initialize(argc, argv, io) fd = NUM2INT(fnum); if (argc == 2) { SafeStringValue(mode); - flags = rb_io_mode_flags(RSTRING(mode)->ptr); + flags = rb_io_mode_modenum(RSTRING(mode)->ptr); } else { #if defined(HAVE_FCNTL) && defined(F_GETFL) |