Home | History | Annotate | Download | only in stdio

Lines Matching refs:fp

48 __sfvwrite(FILE *fp, struct __suio *uio)
60 if (cantwrite(fp)) {
66 #define COPY(n) (void)memcpy((void *)fp->_p, (void *)p, (size_t)(n))
79 if (fp->_flags & __SNBF) {
86 w = (*fp->_write)(fp->_cookie, p, len);
88 w = (*fp->_write)(fp->_cookie, p, MIN(len, BUFSIZ2));
95 } else if ((fp->_flags & __SLBF) == 0) {
109 if ((fp->_flags & (__SALC | __SSTR)) ==
110 (__SALC | __SSTR) && fp->_w < (int)len) {
111 size_t blen = fp->_p - fp->_bf._base;
116 _size = fp->_bf._size;
120 _base = realloc(fp->_bf._base, _size + 1);
123 fp->_w += _size - fp->_bf._size;
124 fp->_bf._base = _base;
125 fp->_bf._size = _size;
126 fp->_p = _base + blen;
128 w = fp->_w;
129 if (fp->_flags & __SSTR) {
132 COPY(w); /* copy MIN(fp->_w,len), */
133 fp->_w -= w;
134 fp->_p += w;
136 } else if (fp->_p > fp->_bf._base && (int)len > w) {
139 /* fp->_w -= w; */ /* unneeded */
140 fp->_p += w;
141 if (fflush(fp))
143 } else if ((int)len >= (w = fp->_bf._size)) {
145 w = (*fp->_write)(fp->_cookie, p, w);
152 fp->_w -= w;
153 fp->_p += w;
176 w = fp->_w + fp->_bf._size;
177 if (fp->_p > fp->_bf._base && s > w) {
179 /* fp->_w -= w; */
180 fp->_p += w;
181 if (fflush(fp))
183 } else if (s >= (w = fp->_bf._size)) {
184 w = (*fp->_write)(fp->_cookie, p, w);
190 fp->_w -= w;
191 fp->_p += w;
195 if (fflush(fp))
206 fp->_flags |= __SERR;