# 2.11BSD#431 - /usr/src/new/PORT/B/src/bint/b3err.c

##### Functions

    MESSMAKE          X
    bye               X
    checkerr          X
    core_dump         X
    debug             X
    e_error           X
    errmess           X
    error             X
    error2            X
    error3            X
    fatal             X
    fix_files         X
    fixerr            X
    fixerr2           X
    fixerr3           X
    getmess           X
    initerr           X
    int_signal        X
    line              X
    memexh            X
    message           X
    parerr            X
    parerr2           X
    pprerr            X
    pprerr2           X
    pr_line           X
    prmess            X
    prname            X
    psyserr           X
    putch             X
    sh_lino           X
    show_line         X
    show_where        X
    showtime          X
    syserr            X
    unit_file         X

##### Variables

    Hidden            X
    Procedure         X
    bugs              X
    curline           X
    curlino           X
    errlino           X
    erruname          X
    interrupted       X
    nprobes           X
    probe             X
    savedmess         X
    still_ok          X

##### Macros

    FILESIZE          X
    HZ                X
    Interactive       X
    MAXPROBE          X

       1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
       2:
       3: /*
       4:   $Header: b3err.c,v 1.4 85/08/22 16:57:50 timo Exp $
       5: */
       6:
       7: /* B error message handling */
       8:
       9: /* There are two kinds of errors:
      10: 	1) parsing, when the line in error is in a buffer
      11: 	2) execution, when the line in error is a parse-tree, and must
      12: 	   therefore be reconstructed.
      13: */
      14:
      15: /* All error messages are collected in a file, both to save data space
      16:    and to ease translation to other languages.	The English version
      17:    of the database can be recreated from the program sources by scanning
      18:    for the pattern "MESS(".  This is a macro whose first argument is
      19:    the message number and whose second number is the message string;
      20:    this macro expands to only the message number which is passed to
      21:    the error routines.	The error routines then dig the message from
      22:    the error message file, or just print the number if the file can't be
      23:    opened.  There is also a way to pass a message that is determined
      24:    at runtime.
      25: */
      26:
      27: #include "b.h"
      28: #include "b0fea.h"
      29: #include "b0fil.h"
      30: #include "b1obj.h"
      31: #include "b2syn.h"
      32: #include "b3env.h"
      33: #include "b3fil.h"
      34: #include "b3err.h"
      35: #include "b3scr.h"
      36: #include "b3sig.h"
      37: #include "b3sou.h"
      38:
      39: Visible bool still_ok, interrupted;
      40:
      41: Visible parsetree curline= Vnil;
      42: Visible value curlino;
      43: Visible context how_context, act_context;
      44:
      45: FILE *errfile;  /* The first thing a visible routine must do is set this */
      46:         /* usually by calling line()				 */
      47:
      48: #define Interactive (errfile == stderr)
      49:
      50: /*********************************************************************/
      51:
      52: /* While we are reading the Messages file, we build an index.
      53:    probe[k] contains the first message number found in block k.
      54:    blocks are BUFSIZ in size. */
      55:
      56: #define FILESIZE 12916 /* Approximated current size of Messages file */
      57: #define MAXPROBE (10 + FILESIZE/BUFSIZ) /* Allow some growth */
      58:
      59: Hidden short probe[MAXPROBE];
      60: Hidden int nprobes= 1;
      61:
      62: Hidden FILE *messfp;
      63: Hidden string savedmess;
      64:
      65: Visible int MESSMAKE(mess) string mess; {
      66:     savedmess= mess;
      67:     return -1;
      68: }
      69:
      70: Visible string getmess(nr) int nr; {
      71:     int last, c; char *cp= NULL;
      72:     static char buf[80]; bool new; int block; long ftell();
      73:     char *filename;
      74:     if (nr == 0) return "";
      75:     if (nr < 0) { return savedmess; }
      76:     if (messfp == NULL)
      77:         messfp= fopen(messfile, "r");
      78:     if (messfp) {
      79:         for (block= nprobes-1; block > 0; --block) {
      80:             if (probe[block] <= nr)
      81:                 break;
      82:         }
      83:         new= block == nprobes-1;
      84:         fseek(messfp, (long)block*BUFSIZ, 0);
      85:         last= 0;
      86:         while (last < nr) {
      87:             if (new) block= ftell(messfp) / BUFSIZ;
      88:             if (fgets(buf, sizeof buf, messfp) == NULL) break;
      89:             last= atoi(buf);
      90:             if (last <= 0)
      91:                 continue;
      92:             if (new && block >= nprobes && nprobes < MAXPROBE) {
      93:                 probe[block]= last;
      94:                 nprobes= block+1;
      95:             }
      96:         }
      97:         if (last == nr) {
      98:             cp= index(buf, '\n');
      99:             if (cp != NULL) *cp = '\0'; /* strip terminating \n */
     100:             cp= buf;
     101:             cp= index(buf, '\t');
     102:             if (cp != NULL) return cp+1;
     103:         }
     104:     }
     105:     sprintf(buf, " (error %d) ", nr);
     106:     return buf;
     107: }
     108:
     109: Hidden Procedure prmess(nr) int nr; {
     110:     errmess(getmess(nr));
     111: }
     112:
     113: /*********************************************************************/
     114:
     115: Hidden Procedure putch(c) char c; {
     116:     putc(c, errfile);
     117: }
     118:
     119: Hidden Procedure line() {
     120: #ifdef EXT_COMMAND
     121:     e_done();
     122: #endif
     123:     fflush(stdout);
     124:     if (cntxt == In_read) {
     125:         if (rd_interactive) {
     126:             errfile= stderr; at_nwl= Yes;
     127:         } else errfile= stdout;
     128:     } else if (interactive) errfile= stderr;
     129:            else errfile= stdout;
     130:     if (!at_nwl) putch('\n');
     131:     at_nwl= Yes;
     132: }
     133:
     134: Hidden Procedure errmess(m) string m; {
     135:     fputs(m, errfile);
     136: }
     137:
     138: #ifdef NOT_USED
     139: Hidden Procedure core_dump() {
     140:     errmess("*** Core-dump for inspection purposes: ");
     141:     fflush(stdout);
     142:     dump();
     143: }
     144: #endif
     145:
     146: Hidden Procedure prname(name) value name; {
     147:     if (Is_text(name)) {
     148:         still_ok= Yes;
     149:         writ(name);
     150:         still_ok= No;
     151:     }
     152: }
     153:
     154: Visible value erruname= Vnil;
     155: Visible intlet errlino= 0;
     156:
     157: Hidden intlet pr_line(at) bool at; {
     158:     /*prints the line that tx is in, with an arrow pointing to the column
     159: 	  that tx is at.
     160: 	*/
     161:     txptr lx= fcol(); intlet ap= -1, p= 0; char c; txptr ax= tx;
     162:     if (!at) do ax--; while (Space(Char(ax)));
     163:     while (!Eol(lx) && Char(lx) != Eotc) {
     164:         if (lx == ax) ap= p;
     165:         c= *lx++;
     166:         if (c == '\t') {
     167:             do { putch(' '); } while (((++p)%4)!=0);
     168:         } else { putch(c); p++; }
     169:     }
     170:     putch('\n');
     171:     if (ap < 0) ap= p;
     172:     for (p= 0; p < ap+4; p++) putch(' ');
     173:     errmess("^\n");
     174: }
     175:
     176: Hidden bool sh_lino(lino) intlet lino; {
     177:     switch (cntxt) {
     178:         case In_command:
     179:         case In_read:
     180:         case In_edval:
     181:         case In_tarval:
     182:         case In_prmnv:  return No;
     183:         case In_unit:   return lino != 1;
     184:         default:    return Yes;
     185:     }
     186: }
     187:
     188:
     189: Hidden Procedure show_line(in_node, at, node, line_no)
     190:  bool in_node, at; parsetree node; int line_no;
     191:  {
     192:     if (sh_lino(line_no))
     193:         fprintf(errfile, " in line %d of your ", line_no);
     194:     else
     195:         errmess(" in your ");
     196:     switch (cntxt) {
     197:         case In_command:    errmess("command"); break;
     198:         case In_read:       errmess("expression to be read"); break;
     199:         case In_edval:      errmess("edited value"); break;
     200:         case In_tarval:     errmess("target value"); break;
     201:         case In_unit:       errmess("unit ");
     202:                     release(erruname);
     203:                     if (Is_text(uname)) {
     204:                         value name; literal type;
     205:                         p_name_type(uname, &name, &type);
     206:                         prname(name); release(name);
     207:                         erruname= copy(uname);
     208:                         errlino= line_no;
     209:                     } else erruname= Vnil;
     210:                     break;
     211:         case In_prmnv:      errmess("permanent environment"); break;
     212:         default:        errmess("???\n"); return;
     213:     }
     214:     errmess("\n");
     215:     if (!in_node || node != Vnil) errmess("    ");
     216:     if (in_node) display(errfile, node, Yes);
     217:     else pr_line(at);
     218: }
     219:
     220: Hidden bool unit_file() {
     221:     value *aa;
     222:     return cntxt == In_unit && Is_text(uname) && p_exists(uname, &aa);
     223: }
     224:
     225: Hidden Procedure show_where(in_node, at, node)
     226:     bool in_node, at; parsetree node; {
     227:
     228:     int line_no= in_node ? intval(curlino) : lino;
     229:     if (cntxt == In_formal) { /*can only happen when in_node*/
     230:         context cc;
     231:         sv_context(&cc);
     232:         set_context(&how_context);
     233:         copy(uname);
     234:         show_line(Yes, Yes, curline, intval(curlino));
     235:         errmess("*** originating");
     236:         set_context(&act_context);
     237:         copy(uname);
     238:         show_line(Yes, Yes, curline, intval(curlino));
     239:         set_context(&cc);
     240:     } else
     241:         show_line(in_node, at, node, line_no);
     242:     if (!Interactive && !unit_file()) {
     243:         fprintf(errfile,
     244:           "*** (detected after reading %d input line%s of your input file ",
     245:             f_lino, f_lino == 1 ? "" : "s");
     246:         if (iname == Vnil) errmess("standard input");
     247:         else prname(iname);
     248:         errmess(")\n");
     249:     }
     250: }
     251:
     252: Hidden Procedure fatal(m, in_node) int m; bool in_node; {
     253:     line();
     254:     errmess("*** Sorry, B system malfunction");
     255:     show_where(in_node, Yes, curline);
     256:     errmess("*** The problem is: ");
     257:     prmess(m); errmess("\n");
     258:     errmess("*** Please save pertinent data for inspection by B guru\n");
     259:     bye(-1);
     260: }
     261:
     262: Visible Procedure syserr(m) int m; {
     263:     fatal(m, Yes);
     264: }
     265:
     266: #ifdef EXT_COMMAND
     267: Visible Procedure psyserr(m) int m; {
     268:     fatal(m, No);
     269: }
     270: #endif
     271:
     272: Visible Procedure memexh() {
     273:     line();
     274:     errmess("*** Sorry, memory exhausted");
     275: /* show_where(Yes, Yes); don't know if in node or not; to fix */ errmess("\n");
     276:     errmess("*** Get your boss to buy a larger computer\n");
     277:     bye(-1);
     278: }
     279:
     280: Hidden Procedure fix_files() {
     281:     if (ifile != stdin) fclose(ifile);
     282:     if (f_interactive(stdin) || filtered) {
     283:         interactive= Yes;
     284:         release(iname);
     285:         iname = Vnil;
     286:         ifile = stdin;
     287:         sv_ifile= ifile;
     288:         Eof= No;
     289:     }
     290: }
     291:
     292: Hidden Procedure message(m1, m2, v, m3, in_node, at)
     293:  string m1; int m2, m3; value v; bool in_node, at; {
     294:     still_ok= No;
     295:     line();
     296:     errmess(m1);
     297:     show_where(in_node, at, curline);
     298:     errmess("*** The problem is: ");
     299:     prmess(m2);
     300:     if (v != Vnil) errmess(strval(v));
     301:     prmess(m3);
     302:     errmess("\n");
     303:     at_nwl=Yes;
     304: }
     305:
     306: Visible Procedure pprerr(m) int m; {
     307:     if (still_ok)
     308:     message("*** There's something I don't understand", m, Vnil, 0, No, No);
     309: }
     310:
     311: Visible Procedure pprerr2(tag, m) value tag; int m; {
     312:     if (still_ok)
     313:     message("*** There's something I don't understand", 0, tag, m, No, No);
     314: }
     315:
     316: Visible Procedure parerr2(m, ss) int m, ss; {
     317:     if (still_ok)
     318:     message("*** There's something I don't understand", m, Vnil, ss, No, Yes);
     319: }
     320:
     321: Visible Procedure parerr(m) int m; {
     322:     parerr2(m, 0);
     323: }
     324:
     325: Visible Procedure fixerr3(m1, v, m2) value v; int m1, m2; {
     326:     if (still_ok)
     327:     message("*** There's something I can't resolve", m1, v, m2, Yes, Yes);
     328: }
     329:
     330: Visible Procedure fixerr2(v, m) value v; int m; {
     331:     fixerr3(0, v, m);
     332: }
     333:
     334: Visible Procedure fixerr(m) int m; {
     335:     fixerr3(0, Vnil, m);
     336: }
     337:
     338: Visible Procedure error3(m1, v, m2) value v; int m1, m2; {
     339:     message("*** Can't cope with problem", m1, v, m2, Yes, No);
     340: }
     341:
     342: Visible Procedure error2(m, v) int m; value v; {
     343:     error3(m, v, 0);
     344: }
     345:
     346: Visible Procedure error(m) int m; {
     347:     error3(m, Vnil, 0);
     348: }
     349:
     350: Visible Procedure checkerr() {
     351:     still_ok= No;
     352:     line();
     353:     errmess("*** Your check failed");
     354:     show_where(Yes, No, curline);
     355:     at_nwl= Yes;
     356: }
     357:
     358: #ifdef SIGNAL
     359:
     360: Visible Procedure int_signal() {
     361:     interrupted= Yes; still_ok= No;
     362:     if (cntxt == In_prmnv) exit(-1);
     363:     if (!interactive) fix_files();
     364:     if (!interactive) bye(1);
     365:     line(); fflush(stdout);
     366:     errmess("*** interrupted\n");
     367: #ifndef INTEGRATION
     368:     if (filtered) errmess("\177");
     369: #endif
     370:     if (cntxt == In_read) {
     371:         set_context(&read_context);
     372:         copy(uname);
     373:     }
     374:     at_nwl= Yes;
     375: }
     376:
     377: #endif SIGNAL
     378:
     379: Visible bool bugs= No, testing= No, tracing= No;
     380:
     381: #ifdef NOT_USED
     382: Visible Procedure debug(m) string m; {
     383:     if (bugs) {
     384:         line();
     385:         errmess("*** Debugging ");
     386:         show_where(Yes, Yes, curline);
     387:         fprintf(errfile, "*** %s\n", m);
     388:         at_nwl= Yes;
     389:     }
     390: }
     391: #endif
     392:
     393: #ifdef EXT_COMMAND
     394:
     395: /* User-callable error message */
     396: Visible Procedure e_error(mesg) value mesg; {
     397:     value v= convert(mesg, Yes, Yes);
     398:     message("*** Halted", 0, v, 0, Yes, No);
     399:     release(v);
     400: }
     401:
     402: #endif
     403:
     404: Visible Procedure bye(ex) int ex; {
     405: #ifdef EXT_COMMAND
     406:     e_done();
     407: #endif
     408:     at_nwl= Yes;
     409:     putprmnv();
     410:     endall();
     411:     if (ex == 0) {
     412:         term_mem();
     413:         endmem();
     414:     }
     415: #ifdef IBMPC
     416:     memstat("at end");
     417: #endif IBMPC
     418:     exit(ex);
     419: }
     420:
     421: Visible Procedure initerr() {
     422:     still_ok= Yes; interrupted= No; curline= Vnil; curlino= zero;
     423: }
     424:
     425:
     426: #define HZ 60 /* 4.2BSD: not line frequency but historical constant */
     427:
     428: showtime(whence)
     429:     string whence;
     430: {
     431: #ifdef TIMING
     432:     static long total[2];
     433:     long buf[4];
     434:     extern bool timing; /* Set in b3mai.c by -T option */
     435:
     436:     if (!timing) return;
     437:     times(buf);
     438:     line();
     439:     fprintf(errfile, "*** Times %s: user %.2f sys %.2f (total %.2f %.2f)\n",
     440:         whence,
     441:         (float)(buf[0]-total[0])/HZ, (float)(buf[1]-total[1])/HZ,
     442:         (float)total[0]/HZ, (float)total[1]/HZ
     443:     );
     444:     total[0]= buf[0]; total[1]= buf[1];
     445: #endif TIMING
     446: }

#### Defined functions

MESSMAKE defined in line 65; used 17 times

- in /usr/src/new/PORT/B/src/bint/b1lta.c line 787, 806, 820, 827, 836, 843-846(2)
- in /usr/src/new/PORT/B/src/bint/b1tlt.c line 168, 180, 195
- in /usr/src/new/PORT/B/src/bint/b2exp.c line 357
- in /usr/src/new/PORT/B/src/bint/b2syn.c line 153, 230, 239, 269
- in /usr/src/new/PORT/B/src/bint/b3fpr.c line 172-176(2)

bye defined in line 404; used 9 times

- in line 259, 277, 364
- in /usr/src/new/PORT/B/src/bint/b3err.h line 15
- in /usr/src/new/PORT/B/src/bint/b3mai.c line 49, 61, 73, 319
- in /usr/src/new/PORT/B/src/bint/b3scr.c line 252

checkerr defined in line 350; used 1 times

- in /usr/src/new/PORT/B/src/bint/b3int.c line 168

core_dump defined in line 139; never used
debug defined in line 382; never used
e_error defined in line 396; never used
errmess defined in line 134; used 31 times

- in line 110, 140, 173, 195-201(6), 211-215(4), 235, 246-248(2), 254-258(4), 274-276(3), 296-302(4), 353, 366-368(2), 385

error defined in line 346; used 151 times

- in /usr/src/new/PORT/B/src/bint/b1btr.h line 12
- in /usr/src/new/PORT/B/src/bint/b1fun.c line 123, 174, 234, 242, 258-263(2), 357, 481, 498, 517, 566-569(3)
- in /usr/src/new/PORT/B/src/bint/b1lta.c line 442, 460, 466, 492, 657, 930, 952-956(3), 1015, 1022, 1043, 1063
- in /usr/src/new/PORT/B/src/bint/b1mem.c line 106, 115, 145, 158
- in /usr/src/new/PORT/B/src/bint/b1nuA.c line 48, 104, 119, 192
- in /usr/src/new/PORT/B/src/bint/b1nuC.c line 276
- in /usr/src/new/PORT/B/src/bint/b1nuG.c line 154
- in /usr/src/new/PORT/B/src/bint/b1nuR.c line 139, 177
- in /usr/src/new/PORT/B/src/bint/b1num.c line 57, 76, 83, 94, 229, 236
- in /usr/src/new/PORT/B/src/bint/b1tex.c line 503, 513-515(2), 528, 546-548(2), 568-570(2), 598-600(2)
- in /usr/src/new/PORT/B/src/bint/b1tlt.c line 99-110(5), 357, 366, 373-375(2), 515-517(2), 525-537(5), 545-547(2), 555-567(5), 579-581(2), 631, 637-639(2)
- in /usr/src/new/PORT/B/src/bint/b1val.c line 142
- in /usr/src/new/PORT/B/src/bint/b2stc.c line 309
- in /usr/src/new/PORT/B/src/bint/b3fil.c line 178, 295
- in /usr/src/new/PORT/B/src/bint/b3in2.c line 21-28(4), 37-45(4), 56, 111, 139-143(2)
- in /usr/src/new/PORT/B/src/bint/b3int.c line 72, 87-100(5), 117, 182-199(5)
- in /usr/src/new/PORT/B/src/bint/b3loc.c line 20, 26, 35, 67-68(2), 100, 106, 115, 127, 144, 162-169(3), 177-180(2), 227, 236, 247-250(2), 262, 274-279(2), 287, 297-298(2), 309-310(2), 336, 350
- in /usr/src/new/PORT/B/src/bint/b3scr.c line 97, 403, 433
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 345, 445, 554, 752, 818
- in /usr/src/new/PORT/B/src/bint/b3sta.c line 429
- in /usr/src/new/PORT/B/src/bint/b3typ.c line 94, 107

error2 defined in line 342; used 5 times

- in /usr/src/new/PORT/B/src/bint/b1obj.c line 30, 269
- in /usr/src/new/PORT/B/src/bint/b2tcE.c line 207, 233
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 213

error3 defined in line 338; used 23 times

- in line 343-347(2)
- in /usr/src/new/PORT/B/src/bint/b1lta.c line 786, 805, 819, 826, 835, 842-846(2)
- in /usr/src/new/PORT/B/src/bint/b1tlt.c line 168, 180, 195
- in /usr/src/new/PORT/B/src/bint/b2tcE.c line 238
- in /usr/src/new/PORT/B/src/bint/b3fpr.c line 172-176(2)
- in /usr/src/new/PORT/B/src/bint/b3in2.c line 74, 81
- in /usr/src/new/PORT/B/src/bint/b3int.c line 105
- in /usr/src/new/PORT/B/src/bint/b3loc.c line 27
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 337
- in /usr/src/new/PORT/B/src/bint/b3sta.c line 448, 495, 515

fatal defined in line 252; used 2 times

- in line 263-268(2)

fix_files defined in line 280; used 1 times

- in line 363

fixerr defined in line 334; used 16 times

- in /usr/src/new/PORT/B/src/bint/b2ana.c line 80
- in /usr/src/new/PORT/B/src/bint/b2fix.c line 81, 101-112(4), 120, 127, 140, 199
- in /usr/src/new/PORT/B/src/bint/b2gen.c line 383, 415-422(3), 527, 597

fixerr2 defined in line 330; used 11 times

- in /usr/src/new/PORT/B/src/bint/b2fix.c line 212
- in /usr/src/new/PORT/B/src/bint/b2gen.c line 336, 343, 369, 376, 581-585(2), 601, 608, 626-630(2)

fixerr3 defined in line 325; used 8 times

- in line 331-335(2)
- in /usr/src/new/PORT/B/src/bint/b2gen.c line 494-503(5), 535

getmess defined in line 70; used 1 times

- in line 110

initerr defined in line 421; used 1 times

- in /usr/src/new/PORT/B/src/bint/b3mai.c line 204

int_signal defined in line 360; used 1 times

- in /usr/src/new/PORT/B/src/bint/b3sig.c line 129

line defined in line 119; used 7 times

- in line 253, 273, 295, 352, 365, 384, 438

memexh defined in line 272; used 2 times

- in /usr/src/new/PORT/B/src/bint/b1mem.c line 110, 120

message defined in line 292; used 6 times

- in line 308-318(3), 327, 339, 398

parerr defined in line 321; used 34 times

- in /usr/src/new/PORT/B/src/bint/b2cmd.c line 53, 76, 137, 295, 316, 332
- in /usr/src/new/PORT/B/src/bint/b2exp.c line 65, 229, 592
- in /usr/src/new/PORT/B/src/bint/b2syn.c line 198, 211, 307
- in /usr/src/new/PORT/B/src/bint/b2tar.c line 27
- in /usr/src/new/PORT/B/src/bint/b2tes.c line 74, 91, 111, 198, 210-211(2)
- in /usr/src/new/PORT/B/src/bint/b2uni.c line 47, 64, 110, 140, 242, 303, 380
- in /usr/src/new/PORT/B/src/bint/b3mai.c line 280-284(2), 298, 307
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 393, 410, 651-655(2)

parerr2 defined in line 316; used 6 times

- in line 322
- in /usr/src/new/PORT/B/src/bint/b2exp.c line 357
- in /usr/src/new/PORT/B/src/bint/b2syn.c line 153, 229, 238, 268

pprerr defined in line 306; used 12 times

- in /usr/src/new/PORT/B/src/bint/b2exp.c line 54, 68, 81, 292, 298, 591
- in /usr/src/new/PORT/B/src/bint/b2tes.c line 86
- in /usr/src/new/PORT/B/src/bint/b2uni.c line 204, 216, 228
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 543, 708

pprerr2 defined in line 311; used 7 times

- in /usr/src/new/PORT/B/src/bint/b2uni.c line 69, 173-181(5), 320

pr_line defined in line 157; used 1 times

- in line 217

prmess defined in line 109; used 3 times

- in line 257, 299-301(2)

prname defined in line 146; used 2 times

- in line 206, 247

psyserr defined in line 267; used 1 times

- in /usr/src/new/PORT/B/src/bint/b2cmd.c line 242

putch defined in line 115; used 5 times

- in line 130, 167-172(4)

sh_lino defined in line 176; used 1 times

- in line 192

show_line defined in line 189; used 3 times

- in line 234-241(3)

show_where defined in line 225; used 4 times

- in line 255, 297, 354, 386

showtime defined in line 428; used 5 times

- in /usr/src/new/PORT/B/src/bint/b3mai.c line 224, 287-292(2), 302-306(2)

syserr defined in line 262; used 101 times

- in /usr/src/new/PORT/B/src/bint/b1lta.c line 591, 1054, 1087, 1093-1097(3)
- in /usr/src/new/PORT/B/src/bint/b1mem.c line 51
- in /usr/src/new/PORT/B/src/bint/b1nuA.c line 247
- in /usr/src/new/PORT/B/src/bint/b1nuC.c line 251
- in /usr/src/new/PORT/B/src/bint/b1nuG.c line 30, 124
- in /usr/src/new/PORT/B/src/bint/b1nuI.c line 117, 277, 299
- in /usr/src/new/PORT/B/src/bint/b1nuQ.c line 71, 175
- in /usr/src/new/PORT/B/src/bint/b1nuR.c line 39
- in /usr/src/new/PORT/B/src/bint/b1num.c line 74, 198
- in /usr/src/new/PORT/B/src/bint/b1obj.c line 78, 119, 206, 289, 313
- in /usr/src/new/PORT/B/src/bint/b1tex.c line 81, 162, 365, 386, 416, 708
- in /usr/src/new/PORT/B/src/bint/b1tlt.c line 73, 406, 442, 506, 596, 650, 663
- in /usr/src/new/PORT/B/src/bint/b1val.c line 38-39(2), 97, 258, 474, 507, 543
- in /usr/src/new/PORT/B/src/bint/b2ana.c line 105, 113
- in /usr/src/new/PORT/B/src/bint/b2gen.c line 265, 325, 550
- in /usr/src/new/PORT/B/src/bint/b2stc.c line 51, 94, 127, 772-776(4)
- in /usr/src/new/PORT/B/src/bint/b2tcE.c line 193, 234
- in /usr/src/new/PORT/B/src/bint/b3env.c line 94, 106, 116
- in /usr/src/new/PORT/B/src/bint/b3fil.c line 211, 249
- in /usr/src/new/PORT/B/src/bint/b3fpr.c line 185, 198
- in /usr/src/new/PORT/B/src/bint/b3int.c line 81, 136, 381
- in /usr/src/new/PORT/B/src/bint/b3loc.c line 39, 74-76(3)
- in /usr/src/new/PORT/B/src/bint/b3mai.c line 268
- in /usr/src/new/PORT/B/src/bint/b3scr.c line 173, 243, 277, 290
- in /usr/src/new/PORT/B/src/bint/b3sig.c line 119
- in /usr/src/new/PORT/B/src/bint/b3sou.c line 86, 102, 263-266(2), 284, 548, 633, 737
- in /usr/src/new/PORT/B/src/bint/b3sta.c line 178, 276, 349, 413, 453-454(2), 473, 482, 510, 527, 579, 590, 603
- in /usr/src/new/PORT/B/src/bint/b3typ.c line 49, 80

unit_file defined in line 220; used 1 times

- in line 242

#### Defined variables

Hidden defined in line 225; never used
Procedure defined in line 225; never used
bugs defined in line 379; used 9 times

- in line 383
- in /usr/src/new/PORT/B/src/bint/b1mem.c line 109, 116
- in /usr/src/new/PORT/B/src/bint/b1obj.c line 200
- in /usr/src/new/PORT/B/src/bint/b1val.c line 259-263(3)
- in /usr/src/new/PORT/B/src/bint/b3err.c line 383
- in /usr/src/new/PORT/B/src/bint/b3scr.c line 172

curline defined in line 41; used 7 times

- in line 234-238(2), 255, 297, 354, 386, 422

curlino defined in line 42; used 4 times

- in line 228, 234-238(2), 422

errlino defined in line 155; used 1 times

- in line 208

erruname defined in line 154; used 3 times

- in line 202-209(3)

interrupted defined in line 39; used 2 times

- in line 361, 422

nprobes defined in line 60; used 5 times

- in line 79-83(2), 92-94(3)

probe defined in line 59; used 2 times

- in line 80, 93

savedmess defined in line 63; used 2 times

- in line 66, 75

still_ok defined in line 39; used 10 times

- in line 148-150(2), 294, 307-317(3), 326, 351, 361, 422

#### Defined macros

FILESIZE defined in line 56; used 1 times

- in line 57

HZ defined in line 426; used 4 times

- in line 441-442(4)

Interactive defined in line 48; used 1 times

- in line 242

MAXPROBE defined in line 57; used 2 times

- in line 59, 92

Last modified: 1985-08-27 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 2010 |