Fix: set error flag in some error cases

This commit is contained in:
ceriel 1993-10-07 09:44:03 +00:00
parent 513c3df1d2
commit b73eb4057e

View file

@ -18,8 +18,14 @@ __fillbuf(register FILE *stream)
stream->_count = 0; stream->_count = 0;
if (fileno(stream) < 0) return EOF; if (fileno(stream) < 0) return EOF;
if (io_testflag(stream, (_IOEOF | _IOERR ))) return EOF; if (io_testflag(stream, (_IOEOF | _IOERR ))) return EOF;
if (!io_testflag(stream, _IOREAD)) return EOF; if (!io_testflag(stream, _IOREAD)) {
if (io_testflag(stream, _IOWRITING)) return EOF; stream->_flags |= _IOERR;
return EOF;
}
if (io_testflag(stream, _IOWRITING)) {
stream->_flags |= _IOERR;
return EOF;
}
if (!io_testflag(stream, _IOREADING)) if (!io_testflag(stream, _IOREADING))
stream->_flags |= _IOREADING; stream->_flags |= _IOREADING;