ack/lang/cem/libcc/stdio/fflush.c

30 lines
424 B
C
Raw Normal View History

1987-03-31 10:45:53 +00:00
/* $Header$ */
1987-01-27 15:57:55 +00:00
#include <stdio.h>
fflush(iop)
FILE *iop;
{
int count, c1;
1987-01-28 14:38:38 +00:00
if (!iop->_buf ||
io_testflag(iop,IO_UNBUFF) ||
!io_testflag(iop,IO_WRITEMODE) )
1987-01-27 15:57:55 +00:00
return(0);
count = BUFSIZ - iop->_count;
if ( count <= 0 )
return(0);
c1 = write(iop->_fd,iop->_buf,count);
if ( count == c1 ) {
iop->_count = BUFSIZ;
iop->_ptr = iop->_buf;
return(count);
}
iop->_flags |= IO_ERR;
return(EOF);
}