Annotation of 43BSD/usr.bin/learn/wrapup.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.