Lines Matching defs:fp
55 /* Flush a single file, or (if fp is NULL) all files. */
57 fflush(FILE *fp)
61 if (fp == NULL) {
68 FLOCKFILE(fp);
69 if ((fp->_flags & (__SWR | __SRW)) == 0) {
73 r = __sflush(fp);
75 FUNLOCKFILE(fp);
80 __sflush(FILE *fp)
86 _DIAGASSERT(fp != NULL);
88 t = fp->_flags;
92 if ((p = fp->_bf._base) == NULL)
95 ptrdiff_t tp = fp->_p - p;
103 fp->_p = p;
104 fp->_w = t & (__SLBF|__SNBF) ? 0 : fp->_bf._size;
107 t = (*fp->_write)(fp->_cookie, (char *)p, n);
109 fp->_flags |= __SERR;
113 if (fp->_flush)
114 return (*fp->_flush)(fp->_cookie);