static void disableshfuncnode(HashNode hn, UNUSED(int flags)) { hn->flags |= DISABLED; if (!strncmp(hn->nam, "TRAP", 4)) { int signum = getsignum(hn->nam + 4); sigtrapped[signum] &= ~ZSIG_FUNC; sigfuncs[signum] = NULL; unsettrap(signum); } }
HashNode removeshfuncnode(HashTable ht, char *nam) { HashNode hn; if ((hn = removehashnode(shfunctab, nam))) { if (!strncmp(hn->nam, "TRAP", 4)) unsettrap(getsignum(hn->nam + 4)); return hn; } else return NULL; }