ack/lang/cem/libcc/stdio/fclose.c
1987-01-27 15:57:55 +00:00

23 lines
312 B
C

#include <stdio.h>
fclose(fp)
FILE *fp;
{
register int i;
for (i=0; i<_NFILES; i++)
if (fp == _io_table[i]) {
_io_table[i] = 0;
break;
}
if (i >= _NFILES)
return(EOF);
fflush(fp);
close(fileno(fp));
if ( io_testflag(fp,IO_MYBUF) && fp->_buf )
free( fp->_buf );
free(fp);
return(NULL);
}