/*
** vbcc-Amiga-PowerPC version of _flushbuf.c
**
** v0.1 04.10.97 phx
*/

#include <stdio.h>
#include <powerup/gcclib/powerup_protos.h>

/* flushes remaining data from buffer */
int _flushbuf(FILE *f)
{
    _chkabort();
    if(!f) return(EOF);
    if(!f->bufsize){if(f->flags&_UNBUF) f->bufsize=1; else f->bufsize=BUFSIZ;}
    if(!f->base) return(0);
    if(f->flags&_WRITE){
        int len=f->bufsize-f->count;
        if(PPCWrite((BPTR)f->filehandle,f->base,len)!=len)
            return(EOF);
    }
    f->pointer=f->base;
    f->count=0;
    f->flags&=~(_READ|_WRITE);
    return(0);
}
