Home | History | Annotate | Download | only in stdio

Lines Matching refs:fp

49 fseeko(FILE *fp, off_t offset, int whence)
64 if ((seekfn = fp->_seek) == NULL) {
81 __sflush(fp); /* may adjust seek offset on append stream */
82 if (fp->_flags & __SOFF)
83 curoff = fp->_offset;
85 curoff = (*seekfn)(fp->_cookie, (fpos_t)0, SEEK_CUR);
89 if (fp->_flags & __SRD) {
90 curoff -= fp->_r;
91 if (HASUB(fp))
92 curoff -= fp->_ur;
93 } else if (fp->_flags & __SWR && fp->_p != NULL)
94 curoff += fp->_p - fp->_bf._base;
120 if (fp->_bf._base == NULL)
121 __smakebuf(fp);
122 if (fp->_flags & (__SWR | __SRW | __SNBF | __SNPT))
124 if ((fp->_flags & __SOPT) == 0) {
126 fp->_file < 0 || fstat(fp->_file, &st) ||
128 fp->_flags |= __SNPT;
131 fp->_blksize = st.st_blksize;
132 fp->_flags |= __SOPT;
142 if (fstat(fp->_file, &st))
148 if (fp->_flags & __SOFF)
149 curoff = fp->_offset;
151 curoff = (*seekfn)(fp->_cookie, (fpos_t)0, SEEK_CUR);
155 curoff -= fp->_r;
156 if (HASUB(fp))
157 curoff -= fp->_ur;
166 if (HASUB(fp)) {
167 curoff += fp->_r; /* kill off ungetc */
168 n = fp->_up - fp->_bf._base;
170 n += fp->_ur;
172 n = fp->_p - fp->_bf._base;
174 n += fp->_r;
183 if ((fp->_flags & __SMOD) == 0 &&
187 fp->_p = fp->_bf._base + o;
188 fp->_r = n - o;
189 if (HASUB(fp))
190 FREEUB(fp);
191 fp->_flags &= ~__SEOF;
203 curoff = target & ~(fp->_blksize - 1);
204 if ((*seekfn)(fp->_cookie, curoff, SEEK_SET) == POS_ERR)
206 fp->_r = 0;
207 fp->_p = fp->_bf._base;
208 if (HASUB(fp))
209 FREEUB(fp);
210 fp->_flags &= ~__SEOF;
213 if (__srefill(fp) || (size_t)fp->_r < n)
215 fp->_p += n;
216 fp->_r -= n;
222 * do it. Allow the seek function to change fp->_bf._base.
225 if (__sflush(fp) ||
226 (*seekfn)(fp->_cookie, (fpos_t)offset, whence) == POS_ERR) {
230 if (HASUB(fp))
231 FREEUB(fp);
232 fp->_p = fp->_bf._base;
233 fp->_r = 0;
234 /* fp->_w = 0; */ /* unnecessary (I think...) */
235 fp->_flags &= ~__SEOF;
246 fseek(FILE *fp, long offset, int whence)
250 return(fseeko(fp, off, whence));