|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)wrapup.c 4.3 (Berkeley) 5/15/86"; ! 3: #endif not lint ! 4: ! 5: #include "signal.h" ! 6: #include "stdio.h" ! 7: #include "lrnref.h" ! 8: ! 9: extern char learnrc[]; ! 10: ! 11: wrapup(n) ! 12: int n; ! 13: { ! 14: FILE *fp; ! 15: /* this routine does not use 'system' because it wants interrupts turned off */ ! 16: ! 17: signal(SIGINT, SIG_IGN); ! 18: chdir(".."); ! 19: if (fork() == 0) { ! 20: signal(SIGHUP, SIG_IGN); ! 21: #if BSD4_2 ! 22: if (fork() == 0) { ! 23: close(1); ! 24: open("/dev/tty", 1); ! 25: execl("/bin/stty", "stty", "new", 0); ! 26: } ! 27: #endif ! 28: execl("/bin/rm", "rm", "-rf", dir, 0); ! 29: execl("/usr/bin/rm", "rm", "-rf", dir, 0); ! 30: perror("bin/rm"); ! 31: fprintf(stderr, "Wrapup: can't find 'rm' command.\n"); ! 32: exit(0); ! 33: } ! 34: if (n == -1) ! 35: unlink(learnrc); ! 36: else if (!n && todo) { ! 37: if ((fp=fopen(learnrc, "w")) == NULL) ! 38: exit(0); ! 39: fprintf(fp, "%s %s %d\n", sname, todo, speed); ! 40: fclose(fp); ! 41: } ! 42: printf("Bye.\n"); /* not only does this reassure user but it ! 43: stalls for time while deleting directory */ ! 44: fflush(stdout); ! 45: wait(0); ! 46: exit(n); ! 47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.