diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | io.c | 3 | ||||
-rw-r--r-- | win32/win32.c | 6 |
3 files changed, 12 insertions, 3 deletions
@@ -1,3 +1,9 @@ +Tue Aug 20 21:47 2002 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp> + + * io.c (rb_io_fread): remove case EPIPE on bcc32 . + + * win32/win32.c (rb_w32_getc): clear EPIPE error on bcc32. + Tue Aug 20 19:39:03 2002 WATANABE Hirofumi <eban@ruby-lang.org> * file.c (rb_file_s_expand_path): accept drive letter on Cygwin. @@ -589,9 +589,6 @@ rb_io_fread(ptr, len, f) #if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN case EWOULDBLOCK: #endif -#ifdef __BORLANDC__ - case EPIPE: -#endif return len - n; } return 0; diff --git a/win32/win32.c b/win32/win32.c index 94e7c456a..d10b68fbe 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -2761,6 +2761,12 @@ int rb_w32_getc(FILE* stream) } else { c = _filbuf(stream); +#ifdef __BORLANDC__ + if( ( c == EOF )&&( errno == EPIPE ) ) + { + clearerr(stream); + } +#endif rb_trap_immediate = trap_immediate; catch_interrupt(); } |