trap.c