Fix: set error flag in some error cases
authorceriel <none@none>
Thu, 7 Oct 1993 09:44:03 +0000 (09:44 +0000)
committerceriel <none@none>
Thu, 7 Oct 1993 09:44:03 +0000 (09:44 +0000)
lang/cem/libcc.ansi/stdio/fillbuf.c

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