Home | History | Annotate | Download | only in stdio

Lines Matching refs:fp

41  * Expand the ungetc buffer `in place'.  That is, adjust fp->_p when
47 __submore(FILE *fp)
52 if (_UB(fp)._base == fp->_ubuf) {
58 _UB(fp)._base = p;
59 _UB(fp)._size = BUFSIZ;
60 p += BUFSIZ - sizeof(fp->_ubuf);
61 for (i = sizeof(fp->_ubuf); --i >= 0;)
62 p[i] = fp->_ubuf[i];
63 fp->_p = p;
66 i = _UB(fp)._size;
67 p = realloc(_UB(fp)._base, i << 1);
72 fp->_p = p + i;
73 _UB(fp)._base = p;
74 _UB(fp)._size = i << 1;
79 ungetc(int c, FILE *fp)
85 _SET_ORIENTATION(fp, -1);
86 if ((fp->_flags & __SRD) == 0) {
91 if ((fp->_flags & __SRW) == 0)
93 if (fp->_flags & __SWR) {
94 if (__sflush(fp))
96 fp->_flags &= ~__SWR;
97 fp->_w = 0;
98 fp->_lbfsize = 0;
100 fp->_flags |= __SRD;
108 if (HASUB(fp)) {
109 if (fp->_r >= _UB(fp)._size && __submore(fp))
111 *--fp->_p = c;
112 fp->_r++;
115 fp->_flags &= ~__SEOF;
122 if (fp->_bf._base != NULL && fp->_p > fp->_bf._base &&
123 fp->_p[-1] == c) {
124 fp->_p--;
125 fp->_r++;
133 fp->_ur = fp->_r;
134 fp->_up = fp->_p;
135 _UB(fp)._base = fp->_ubuf;
136 _UB(fp)._size = sizeof(fp->_ubuf);
137 fp->_ubuf[sizeof(fp->_ubuf) - 1] = c;
138 fp->_p = &fp->_ubuf[sizeof(fp->_ubuf) - 1];
139 fp->_r = 1;