Lines Matching defs:iop
417 static void p_redirect(register const struct ionod *iop)
421 for(;iop;iop=iop->ionxt)
423 iof=iop->iofile;
425 if(iop->iovname)
428 sfputr(outfile,iop->iovname,')');
435 if(*cp == '1' && !iop->iovname)
441 if(*cp == '0' && !iop->iovname)
459 if(iop->iodelim)
463 iop->iolink = (char*)here_doc;
465 here_doc = iop;
473 if(iop->ionxt)
482 if(iop->iodelim)
484 if(!(iop->iofile&IODOC))
486 sfputr(outfile,sh_fmtq(iop->iodelim),iof);
488 else if(iop->iofile&IORAW)
489 sfputr(outfile,sh_fmtq(iop->ioname),iof);
491 sfputr(outfile,iop->ioname,iof);
567 static void here_body(register const struct ionod *iop)
571 if(iop->iolink)
572 here_body((struct inode*)iop->iolink);
573 iop->iolink = 0;
575 if(iop->iofile&IOSTRG)
576 infile = sfnew((Sfio_t*)0,iop->ioname,iop->iosize,-1,SF_STRING|SF_READ);
578 sfseek(infile=sh.heredocs,iop->iooffset,SEEK_SET);
579 sfmove(infile,outfile,iop->iosize,-1);
580 if(iop->iofile&IOSTRG)
582 sfputr(outfile,iop->iodelim,'\n');