Home | History | Annotate | Download | only in stdio

Lines Matching refs:fp

40 lflush(FILE *fp)
42 if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR))
43 return (__sflush_locked(fp));
48 fread(void *buf, size_t size, size_t count, FILE *fp)
62 FLOCKFILE(fp);
63 if (fp->_r < 0)
64 fp->_r = 0;
69 if (fp->_flags & __SNBF && fp->_ur == 0)
79 fp->_r = 0; /* largely a convenience for callers */
82 if (fp->_flags & __SEOF) {
83 FUNLOCKFILE(fp);
88 if ((fp->_flags & __SRD) == 0) {
89 if ((fp->_flags & __SRW) == 0) {
90 fp->_flags |= __SERR;
91 FUNLOCKFILE(fp);
96 if (fp->_flags & __SWR) {
97 if (__sflush(fp)) {
98 FUNLOCKFILE(fp);
101 fp->_flags &= ~__SWR;
102 fp->_w = 0;
103 fp->_lbfsize = 0;
105 fp->_flags |= __SRD;
113 if (HASUB(fp)) {
114 FREEUB(fp);
124 if (fp->_flags & (__SLBF|__SNBF)) {
126 fp->_flags |= __SIGN;
128 fp->_flags &= ~__SIGN;
131 if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR))
132 __sflush(fp);
136 int len = (*fp->_read)(fp->_cookie, p, resid );
137 fp->_flags &= ~__SMOD;
140 fp->_flags |= __SEOF;
142 fp->_flags |= __SERR;
144 FUNLOCKFILE(fp);
150 FUNLOCKFILE(fp);
156 while (resid > (size_t)(r = fp->_r)) {
157 (void)memcpy((void *)p, (void *)fp->_p, (size_t)r);
158 fp->_p += r;
159 /* fp->_r = 0 ... done in __srefill */
162 if (__srefill(fp)) {
164 FUNLOCKFILE(fp);
170 (void)memcpy((void *)p, (void *)fp->_p, resid);
171 fp->_r -= resid;
172 fp->_p += resid;
173 FUNLOCKFILE(fp);