예제 #1
0
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;
}
예제 #2
0
파일: 8-3.c 프로젝트: devilTian/Fragment
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;
}
예제 #3
0
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;
}
예제 #4
0
// 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;
}
예제 #5
0
파일: iobuf.c 프로젝트: conghui/books
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;
}
예제 #6
0
파일: krx80300.c 프로젝트: HenryNi/mycode
/* 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;
}