diff --git a/ChangeLog b/ChangeLog index 8a4a23f0d4..b5d68f844e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Aug 20 21:47 2002 KONISHI Hiromasa + + * 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 * file.c (rb_file_s_expand_path): accept drive letter on Cygwin. diff --git a/io.c b/io.c index 32203dca49..01b7e2a72a 100644 --- a/io.c +++ b/io.c @@ -588,9 +588,6 @@ rb_io_fread(ptr, len, f) case EAGAIN: #if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN case EWOULDBLOCK: -#endif -#ifdef __BORLANDC__ - case EPIPE: #endif return len - n; } diff --git a/win32/win32.c b/win32/win32.c index 94e7c456ad..d10b68fbef 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(); }