32 i = read((
int) fileno(fp), &c, 1);
33 }
while (i == -1 && errno == EINTR);
35 if (i == 0 || c ==
'\004')
59 static bool init_ioctl;
60 static bool init_alloc;
70 if (mode != TIOCSTI)
return;
74 if (!_iob[fd].curbuf->base) {
75 _iob[fd].curbuf->base = (
unsigned char *)
tmalloc(BUFSIZ);
76 _iob[fd].curbuf->lastwritable = _iob[fd].curbuf->base + BUFSIZ;
78 _iob[fd].curbuf->lastvalid = _iob[fd].curbuf->base;
79 _iob[fd].curbuf->firstvalid = _iob[fd].curbuf->base;
80 _iob[fd].oldnext = _iob[fd].next = _iob[fd].curbuf->base;
81 _iob[fd].lastpos = _iob[fd].curpos = 0
L;
87 *((_iob[fd].curbuf)->lastvalid)++ = *
c;
103 if (!init_alloc && fp->next >= fp->curbuf->firstvalid &&
104 fp->next < fp->curbuf->lastvalid)
108 if (!fp->curbuf->base) {
109 fp->curbuf->base = (
unsigned char *)
tmalloc(BUFSIZ);
110 fp->curbuf->lastwritable = fp->curbuf->base + BUFSIZ;
112 fp->curbuf->firstvalid = fp->curbuf->base;
113 fp->curbuf->lastvalid = fp->curbuf->base;
114 fp->oldnext = fp->next = fp->curbuf->base;
115 fp->lastpos = fp->curpos = 0
L;
118 while (!(c = inkey$())) ;
125 if (c == 26) c = EOF;
126 *fp->curbuf->lastvalid++ =
c;
130 if (fp->curbuf->lastvalid >
131 fp->curbuf->firstvalid) {
132 fp->curbuf->lastvalid--;
142 *fp->curbuf->lastvalid++ =
'\n';
150 while (fp->curbuf->lastvalid >
151 fp->curbuf->firstvalid) {
152 fp->curbuf->lastvalid--;
165 *fp->curbuf->lastvalid++ =
c;
179 static bool init_ioctl;
180 static bool init_alloc;
191 if (mode != TIOCSTI)
return;
195 if (!_iob[fd]._base) {
196 _iob[fd]._base =
tmalloc(BUFSIZ);
197 _iob[fd]._bufsiz = BUFSIZ;
200 _iob[fd]._ptr = _iob[fd]._base;
206 *(_iob[fd]._base + _iob[fd]._cnt) = *
c;
223 if (!init_alloc && fp->_cnt > 0) {
225 return ((
int)(*(
unsigned char*)(fp)->_ptr++));
231 fp->_bufsiz = BUFSIZ;
234 fp->_ptr = fp->_base;
246 if (c == 26) c = EOF;
247 *(fp->_base + fp->_cnt) = c;
249 return ((
int)(*(
unsigned char*)(fp)->_ptr++));
262 *(fp->_base + fp->_cnt) =
'\n';
268 return ((
int)(*(
unsigned char*)(fp)->_ptr++));
281 fp->_ptr = fp->_base;
285 *(fp->_base + fp->_cnt) = c;