Lines Matching refs:fp
54 fread(void *buf, size_t size, size_t count, FILE *fp)
61 _DIAGASSERT(fp != NULL);
69 fp->_flags |= __SERR;
83 FLOCKFILE(fp);
88 * If we're unbuffered we know that the buffer in fp is empty so
90 * series of one byte reads into fp->_nbuf.
92 if ((fp->_flags & __SNBF) != 0) {
95 fp->_bf._base = fp->_p = (unsigned char *)p;
96 fp->_bf._size = (int)resid;
98 if (__srefill(fp)) {
103 p += fp->_r;
104 resid -= fp->_r;
108 fp->_bf._base = fp->_p = fp->_nbuf;
109 fp->_bf._size = 1;
110 fp->_r = 0;
112 FUNLOCKFILE(fp);
116 if (fp->_r <= 0) {
121 while (resid > (size_t)(r = fp->_r)) {
122 (void)memcpy(p, fp->_p, (size_t)r);
123 fp->_p += r;
124 /* fp->_r = 0 ... done in __srefill */
128 if (__srefill(fp)) {
130 FUNLOCKFILE(fp);
134 (void)memcpy(p, fp->_p, resid);
136 _DIAGASSERT(__type_fit(int, fp->_r - resid));
137 fp->_r -= (int)resid;
138 fp->_p += resid;
139 FUNLOCKFILE(fp);