Lines Matching refs:ipc
99 static int substitute(union reptr *ipc);
101 static void command(union reptr *ipc);
108 union reptr *ipc;
127 ipc = pending;
139 for(ipc = ptrspace; ipc->r1.command; ) {
141 p1 = ipc->r1.ad1;
142 p2 = ipc->r1.ad2;
146 if(ipc->r1.inar) {
152 ipc->r1.inar = 0;
153 if(ipc->r1.negfl)
155 ipc++;
159 ipc->r1.inar = 0;
162 ipc->r1.inar = 0;
166 if(ipc->r1.negfl)
168 ipc++;
175 if(ipc->r1.negfl)
177 ipc++;
181 ipc->r1.inar = 1;
184 ipc->r1.inar = 1;
186 if(ipc->r1.negfl)
188 ipc++;
193 if(ipc->r1.negfl) {
194 ipc++;
198 command(ipc);
205 if((ipc = ipc->r2.lb1) == 0) {
206 ipc = ptrspace;
210 ipc++;
246 substitute(union reptr *ipc)
248 if(match(ipc->r1.re1, 0) == 0) return(0);
252 dosub(ipc->r1.rhs, ipc->r1.gfl);
254 if(ipc->r1.gfl) {
256 if(match(ipc->r1.re1, 1) == 0) break;
257 dosub(ipc->r1.rhs, ipc->r1.gfl);
328 command(union reptr *ipc)
335 switch(ipc->r1.command) {
342 *aptr++ = ipc;
349 if(!ipc->r1.inar || dolflag) {
350 for(p1 = ipc->r1.re1; *p1; )
419 for(p1 = ipc->r1.re1; *p1; )
505 pending = ipc;
517 pending = ipc;
550 *aptr++ = ipc;
556 i = substitute(ipc);
557 if(ipc->r1.pfl && nflag && i)
558 if(ipc->r1.pfl == 1) {
565 if(i && ipc->r1.fcode)
577 (void) fprintf(ipc->r1.fcode, "%s\n", linebuf);
578 (void) fflush(ipc->r1.fcode);
596 p2 = ipc->r1.re1;