Lines Matching refs:iop

41  	if (ec != '\'' && e.iop->task != XGRAVE) {
56 if (e.iop >= e.iobase)
57 e.iop->peekc = c;
64 return e.iop < e.iobase || (e.iop->peekc == 0 && e.iop->prev == 0);
72 for (; e.iop >= e.iobase; e.iop--)
73 if ((c = e.iop->peekc) != '\0') {
74 e.iop->peekc = 0;
78 if (e.iop->prev != 0) {
79 if ((c = (*e.iop->iofn)(e.iop->argp, e.iop)) != '\0') {
81 e.iop++;
84 if (e.iop == iostack)
86 return(e.iop->prev = c);
88 else if (e.iop->task == XIO && e.iop->prev != '\n') {
89 e.iop->prev = 0;
90 if (e.iop == iostack)
95 if (e.iop->task == XIO) {
97 return e.iop->prev = 0;
98 if (talking && e.iop == iostack+1)
102 if (e.iop >= iostack)
121 if (++e.iop >= &iostack[NPUSH]) {
122 e.iop--;
127 e.iop->iofn = fn;
130 e.iop->argp = argp;
132 e.iop->argp = ioargstack + (e.iop - iostack);
133 *e.iop->argp = *argp;
134 e.iop->argp->afbuf = e.iop == &iostack[0] ? &mainbuf : &sharedbuf;
135 if (isatty(e.iop->argp->afile) == 0 &&
136 (e.iop == &iostack[0] ||
137 lseek(e.iop->argp->afile, 0L, 1) != -1)) {
140 e.iop->argp->afid = bufid;
144 e.iop->prev = ~'\n';
145 e.iop->peekc = 0;
146 e.iop->xchar = 0;
147 e.iop->nlcount = 0;
149 e.iop->task = XIO;
151 e.iop->task = XGRAVE;
153 e.iop->task = XOTHER;
330 gravechar(ap, iop)
332 struct io *iop;
336 if ((c = qgravechar(ap, iop)&~QUOTE) == '\n')
342 qgravechar(ap, iop)
344 struct io *iop;
348 if (iop->xchar) {
349 if (iop->nlcount) {
350 iop->nlcount--;
353 c = iop->xchar;
354 iop->xchar = 0;
356 iop->nlcount = 1;
358 iop->nlcount++;
359 iop->xchar = c;
362 iop->nlcount--;
490 markhere(s, iop)
492 struct ioword *iop;
502 h->h_iop = iop;
503 iop->io_name = 0;
513 iop->io_flag |= IOHERE|IOXHERE;
516 iop->io_flag &= ~ IOXHERE;
519 h->h_dosub = iop->io_flag & IOXHERE;
560 pushio(e.iop->argp, e.iop->iofn);
561 e.iobase = e.iop;
563 if (talking && e.iop <= iostack)
615 setbase(e.iop);