Lines Matching refs:iop
902 struct ioword *iop = alloc(sizeof(struct ioword), ATEMP);
905 iop->unit = c == '<' ? 0 : 1;
906 else for (iop->unit = 0, c2 = 0; c2 < Xlength(ws, wp); c2 += 2) {
911 iop->unit = (iop->unit * 10) + dp[c2 + 1] - '0';
914 if (iop->unit >= FDBASE)
923 iop->flag = IOBASH;
925 iop->flag = 0;
930 iop->flag |= c == c2 ?
932 if (iop->flag == IOHERE) {
934 iop->flag |= IOSKIP;
937 iop->flag |= IOHERESTR;
940 iop->flag |= IONDELIM;
943 iop->flag |= IODUP | (c == '<' ? IORDUP : 0);
945 iop->flag |= c == '>' ? IOWRITE : IOREAD;
947 iop->flag |= IOCLOB;
952 iop->name = NULL;
953 iop->delim = NULL;
954 iop->heredoc = NULL;
957 yylval.iop = iop;
960 afree(iop, ATEMP);
1114 readhere(struct ioword *iop)
1122 if (iop->flag & IOHERESTR) {
1124 iop->heredoc = xp = evalstr(iop->delim, DOBLANK);
1131 eof = iop->flag & IONDELIM ? "<<" : evalstr(iop->delim, 0);
1133 if (!(iop->flag & IOEVAL))
1142 if (iop->flag & IOSKIP) {
1202 iop->heredoc = Xclose(xs, xp);
1204 if (!(iop->flag & IOEVAL))