BSD 1 development
[unix-history] / portlib / cclose.c
# include "iodec.h"
/**
** close a file
**/
cclose(fn)
int fn;
{
register struct fileps *fp;
if (fn < 0 || fn >= MAXFILES)
__error("cclose: bad file number %d", fn);
fp = &__filehdr[fn];
if (fp->nchars > 0 && fp->wrflag > 1)
flush(fn);
if (fp->wrflag != 0 && fp->buff >= &__statbuf[MAXFILES])
free(fp->pbuff);
fp->nchars = fp->eoferr = fp->buff = fp->bptr = fp->wrflag = fp->bsize = 0;
close(fn);
}