# include "iodec.h"
/**
** flush out a single file
**/
cflush(fn)
int fn;
{
register struct fileps *fp;
if (fn < 0 || fn >= MAXFILES)
__error("cflush: bad file number %d", fn);
fp = &__filehdr[fn];
if (fp->nchars > 0 && fp->wrflag >= 2)
{
if (fp->wrflag == 3)
{
seek(fn, 0, 2);
fp->wrflag = 2;
}
write(fn, fp->buff, fp->nchars);
fp->bptr = fp->buff;
fp->nchars = fp->eoferr = 0;
}
if (fp->wrflag == 1)
seek(fn, -(fp->nchars), 1);
return;
}