updates from John Kunze
[unix-history] / usr / src / usr.bin / learn / learn / wrapup.c
#ifndef lint
static char sccsid[] = "@(#)wrapup.c 4.3 (Berkeley) %G%";
#endif not lint
#include "signal.h"
#include "stdio.h"
#include "lrnref.h"
extern char learnrc[];
wrapup(n)
int n;
{
FILE *fp;
/* this routine does not use 'system' because it wants interrupts turned off */
signal(SIGINT, SIG_IGN);
chdir("..");
if (fork() == 0) {
signal(SIGHUP, SIG_IGN);
#if BSD4_2
if (fork() == 0) {
close(1);
open("/dev/tty", 1);
execl("/bin/stty", "stty", "new", 0);
}
#endif
execl("/bin/rm", "rm", "-rf", dir, 0);
execl("/usr/bin/rm", "rm", "-rf", dir, 0);
perror("bin/rm");
fprintf(stderr, "Wrapup: can't find 'rm' command.\n");
exit(0);
}
if (n == -1)
unlink(learnrc);
else if (!n && todo) {
if ((fp=fopen(learnrc, "w")) == NULL)
exit(0);
fprintf(fp, "%s %s %d\n", sname, todo, speed);
fclose(fp);
}
printf("Bye.\n"); /* not only does this reassure user but it
stalls for time while deleting directory */
fflush(stdout);
wait(0);
exit(n);
}