home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / vbcc / machines / amiga68k / libsrc / stdio / _flushbuf.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-24  |  501 b   |  22 lines

  1. #include <stdio.h>
  2.  
  3. #include <proto/dos.h>
  4.  
  5. /*  schreibt noch uebrige Daten aus Buffer  */
  6. int _flushbuf(FILE *f)
  7. {
  8.     _chkabort();
  9.     if(!f) return(EOF);
  10.     if(!f->bufsize){if(f->flags&_UNBUF) f->bufsize=1; else f->bufsize=BUFSIZ;}
  11.     if(!f->base) return(0);
  12.     if(f->flags&_WRITE){
  13.         int len=f->bufsize-f->count;
  14.         if(Write((BPTR)f->filehandle,f->base,len)!=len)
  15.             return(EOF);
  16.     }
  17.     f->pointer=f->base;
  18.     f->count=0;
  19.     f->flags&=~(_READ|_WRITE);
  20.     return(0);
  21. }
  22.