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

hangup defined in line 57; used 3 times
intrpt defined in line 62; used 7 times
main defined in line 32; never used

Defined variables

comfile defined in line 19; never used
didok defined in line 17; used 2 times
dir defined in line 23; used 6 times
level defined in line 12; used 19 times
logging defined in line 25; never used
more defined in line 11; used 4 times
pwline defined in line 22; used 1 times
  • in line 40
sccsid defined in line 2; never used
sequence defined in line 18; used 4 times
skip defined in line 28; used 2 times
status defined in line 20; never used
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
Last modified: 1997-10-03
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 3540
Valid CSS Valid XHTML 1.0 Strict