int fflush(FILE *fp) { int flush; if (!fp->flags._WRITE || fp->flags._ERR || fp->flags._EOF) return EOF; flush = _flushbuf(0, fp); fp->ptr = fp->base; fp->cnt = (fp->flags._UNBUF ? 1 : BUFSIZ); return flush; }
int fflush_x(FILEX *fp) { int rc = 0; if (fp->pflag.write == 1 && (rc = _flushbuf(0, fp)) == EOF) { return EOF; } fp->ptr = fp->base; fp->cnt = fp->pflag.unbuf == 1 ? 1 : BUFSIZ; return rc; }
int fflush(FILE *fp) { int rc = 0; // Make sure we are being asked to flush a valid file pointer if (fp < _iob || fp >= _iob + OPEN_MAX) return EOF; if (fp->flag & _WRITE) rc = _flushbuf(0, fp); fp->ptr = fp->base; fp->cnt = (fp->flag & _UNBUF) ? 1 : BUFSIZ; return rc; }
// returns 0 if successful, else EOF int fflush(FILE *fp) { int val; // check for valid fp if (fp < _iob || fp >= _iob + OPEN_MAX) { // not valid file pointer return EOF; } // if it was to write then flush (write buffer to file, and reset ptr of buffer to beginning) if (fp->flags & _WRITE) { val = _flushbuf(0, fp); } fp->ptr = fp->base; fp->cnt = (fp->flag & _UNBUF) ? 1 : BUFSIZ; return val; }
int fflush(FILE *fp) { int rc = 0; if (fp < _iob || fp >= _iob + OPEN_MAX) { return EOF; /* invalid pointer */ } if (fp->write & _WRITE) { rc = _flushbuf(0, fp); } fp->ptr = fp->base; fp->cnt = (fp->flag & _UNBUF) ? 1 : BUFSIZ; return rc; }
/* fflush */ int fflush(FILE *f) { int retval; int i; retval = 0; if (f == NULL) { /* flush all output streams */ for (i = 0; i < OPEN_MAX; i++) { if ((_iob[i]->flag & _WRITE) && (fflush(_iob[i]) == -1)) retval = -1; } } else { if ((f->flag & _WRITE) == 0) return -1; _flushbuf(EOF, f); if (f->flag & _ERR) retval = -1; } return retval; }