1: #if !defined(lint) && defined(DOSCCS)
2: static char sccsid[] = "@(#)learn.c 4.4.2 (2.11BSD) 1997/10/2";
3: #endif
4:
5: #include "stdio.h"
6: #include "lrnref.h"
7: #include "signal.h"
8: #include <unistd.h>
9:
10: char *direct = "/usr/share/learn"; /* CHANGE THIS ON YOUR SYSTEM */
11: int more;
12: char *level;
13: int speed;
14: char *sname;
15: char *todo;
16: FILE *incopy = NULL;
17: int didok;
18: int sequence = 1;
19: int comfile = -1;
20: int status;
21: int wrong;
22: char *pwline;
23: char *dir;
24: FILE *scrin;
25: int logging = 1; /* set to 0 to turn off logging */
26: int ask;
27: int again;
28: int skip;
29: int teed;
30: int total;
31:
32: main(argc,argv)
33: int argc;
34: char *argv[];
35: {
36: extern hangup(), intrpt();
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: }
Defined functions
main
defined in line
32;
never used
Defined variables
again
defined in line
27; used 6 times
ask
defined in line
26; used 3 times
didok
defined in line
17; used 2 times
dir
defined in line
23; used 6 times
level
defined in line
12; used 19 times
- in /usr/src/usr.bin/learn/selsub.c line
35-44(5),
57-61(2),
88,
102,
123
- in /usr/src/usr.bin/learn/selunit.c line
36,
44-48(2),
83,
97
- in /usr/src/usr.bin/learn/whatnow.c line
17,
24,
33,
47
more
defined in line
11; used 4 times
sccsid
defined in line
2;
never used
skip
defined in line
28; used 2 times
sname
defined in line
14; used 22 times
speed
defined in line
13; used 14 times
teed
defined in line
29;
never used
todo
defined in line
15; used 13 times
total
defined in line
30; used 1 times
wrong
defined in line
21; used 1 times