Lines Matching defs:trap
65 register char *trap;
91 trap = shp->st.trapcom[sig];
94 if(trap && *trap)
109 if(trap && *trap==0)
112 if(!trap)
162 if(trap)
263 * Turn on trap handler for signal <sig>
308 * Free the trap strings if mode is non-zero
313 register char *trap;
317 if(trap=sh.st.trapcom[sig])
320 if(*trap)
323 free(trap);
338 if(trap=sh.st.trap[sig])
341 free(trap);
342 sh.st.trap[sig] = 0;
353 * free up trap if set and restore signal handler if modified
358 register char *trap;
363 if(trap=sh.st.trapcom[sig])
366 free(trap);
379 register char *trap;
383 /* execute errexit trap first */
388 if(sh.st.trap[SH_ERRTRAP])
390 trap = sh.st.trap[SH_ERRTRAP];
391 sh.st.trap[SH_ERRTRAP] = 0;
392 sh_trap(trap,0);
393 sh.st.trap[SH_ERRTRAP] = trap;
418 if(trap=sh.st.trapcom[sig])
424 sh_trap(trap,0);
432 * parse and execute the given trap string, stream or tree depending on mode
435 int sh_trap(const char *trap, int mode)
456 sh_exec((Shnode_t*)trap,sh_isstate(SH_ERREXIT));
461 sp = (Sfio_t*)trap;
463 sp = sfopen(NIL(Sfio_t*),trap,"s");