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

1.1     ! root        1: #ifndef lint
        !             2: static char sccsid[] = "@(#)learn.c    4.4     (Berkeley)      5/15/86";
        !             3: #endif not lint
        !             4: 
        !             5: #include "stdio.h"
        !             6: #include "lrnref.h"
        !             7: #include "signal.h"
        !             8: 
        !             9: char   *direct = "/usr/lib/learn";     /* CHANGE THIS ON YOUR SYSTEM */
        !            10: int    more;
        !            11: char   *level;
        !            12: int    speed;
        !            13: char   *sname;
        !            14: char   *todo;
        !            15: FILE   *incopy = NULL;
        !            16: int    didok;
        !            17: int    sequence        = 1;
        !            18: int    comfile = -1;
        !            19: int    status;
        !            20: int    wrong;
        !            21: char   *pwline;
        !            22: char   *dir;
        !            23: FILE   *scrin;
        !            24: int    logging = 1;    /* set to 0 to turn off logging */
        !            25: int    ask;
        !            26: int    again;
        !            27: int    skip;
        !            28: int    teed;
        !            29: int    total;
        !            30: 
        !            31: main(argc,argv)
        !            32: int argc;
        !            33: char *argv[];
        !            34: {
        !            35:        extern hangup(), intrpt();
        !            36:        extern char * getlogin(), *malloc();
        !            37: 
        !            38:        speed = 0;
        !            39:        more = 1;
        !            40:        pwline = getlogin();
        !            41: #ifndef BSD4_2
        !            42:        setbuf(stdout, malloc(BUFSIZ));
        !            43:        setbuf(stderr, malloc(BUFSIZ));
        !            44: #endif
        !            45:        selsub(argc, argv);
        !            46:        chgenv();
        !            47:        signal(SIGHUP, hangup);
        !            48:        signal(SIGINT, intrpt);
        !            49:        while (more) {
        !            50:                selunit();
        !            51:                dounit();
        !            52:                whatnow();
        !            53:        }
        !            54:        wrapup(0);
        !            55: }
        !            56: 
        !            57: hangup()
        !            58: {
        !            59:        wrapup(1);
        !            60: }
        !            61: 
        !            62: intrpt()
        !            63: {
        !            64:        char response[20], *p;
        !            65: 
        !            66:        signal(SIGINT, hangup);
        !            67:        write(2, "\nInterrupt.\nWant to go on?  ", 28);
        !            68:        p = response;
        !            69:        *p = 'n';
        !            70:        while (read(0, p, 1) == 1 && *p != '\n')
        !            71:                p++;
        !            72:        if (response[0] != 'y')
        !            73:                wrapup(0);
        !            74:        ungetc('\n', stdin);
        !            75:        signal(SIGINT, intrpt);
        !            76: }

unix.superglobalmegacorp.com

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