Lines Matching refs:fp
56 lflush(FILE *fp)
59 _DIAGASSERT(fp != NULL);
61 if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR))
62 return __sflush(fp);
71 __srefill(FILE *fp)
74 _DIAGASSERT(fp != NULL);
80 fp->_r = 0; /* largely a convenience for callers */
83 if (fp->_flags & __SEOF)
87 if ((fp->_flags & __SRD) == 0) {
88 if ((fp->_flags & __SRW) == 0) {
90 fp->_flags |= __SERR;
94 if (fp->_flags & __SWR) {
95 if (__sflush(fp))
97 fp->_flags &= ~__SWR;
98 fp->_w = 0;
99 fp->_lbfsize = 0;
101 fp->_flags |= __SRD;
109 if (HASUB(fp)) {
110 FREEUB(fp);
111 if ((fp->_r = fp->_ur) != 0) {
112 fp->_p = fp->_up;
118 if (fp->_bf._base == NULL)
119 __smakebuf(fp);
126 if (fp->_flags & (__SLBF|__SNBF)) {
131 fp->_p = fp->_bf._base;
132 fp->_r = (int)(*fp->_read)(fp->_cookie, (char *)fp->_p,
133 (size_t)fp->_bf._size);
134 fp->_flags &= ~__SMOD; /* buffer contents are again pristine */
135 if (fp->_r <= 0) {
136 if (fp->_r == 0)
137 fp->_flags |= __SEOF;
139 fp->_r = 0;
140 fp->_flags |= __SERR;