1: #ifndef lint
   2: static char sccsid[] = "@(#)n5.c	4.2 6/30/83";
   3: #endif lint
   4: 
   5: #include "tdef.h"
   6: #include <sgtty.h>
   7: extern
   8: #include "d.h"
   9: extern
  10: #include "v.h"
  11: #include "sdef.h"
  12: 
  13: /*
  14: troff5.c
  15: 
  16: misc processing requests
  17: */
  18: 
  19: extern  int inchar[LNSIZE], *pinchar;   /* XXX */
  20: extern struct s *frame;
  21: extern struct s *litlev;
  22: extern filep ip;
  23: extern filep offset;
  24: 
  25: extern int ascii;
  26: extern int nonumb;
  27: extern int admod;
  28: extern int ad;
  29: extern int fi;
  30: extern int cc;
  31: extern int c2;
  32: extern int ohc;
  33: extern int tabc;
  34: extern int dotc;
  35: extern int pendnf;
  36: extern int hyf;
  37: extern int ce;
  38: extern int po;
  39: extern int po1;
  40: extern int nc;
  41: extern int in;
  42: extern int un;
  43: extern int un1;
  44: extern int in1;
  45: extern int ll;
  46: extern int ll1;
  47: extern int lt;
  48: extern int lt1;
  49: extern int nlist[NTRAP];
  50: extern int mlist[NTRAP];
  51: extern int lgf;
  52: extern int pl;
  53: extern int npn;
  54: extern int npnflg;
  55: extern int copyf;
  56: extern char nextf[];
  57: extern int trap;
  58: extern int lss;
  59: extern int em;
  60: extern int evlist[EVLSZ];
  61: extern int evi;
  62: extern int ibf;
  63: extern int ev;
  64: extern int ch;
  65: extern int nflush;
  66: extern int tty;
  67: extern struct sgttyb ttys;
  68: extern int quiet;
  69: extern int iflg;
  70: extern int eschar;
  71: extern int lit;
  72: extern int ls;
  73: extern int ls1;
  74: extern int tabtab[];
  75: extern char trtab[];
  76: extern int ul;
  77: extern int cu;
  78: extern int sfont;
  79: extern int font;
  80: extern int fontlab[];
  81: extern int it;
  82: extern int itmac;
  83: extern int noscale;
  84: extern int ic;
  85: extern int icf;
  86: extern int ics;
  87: extern int *vlist;
  88: extern int sv;
  89: extern int esc;
  90: extern int nn;
  91: extern int nms;
  92: extern int ndf;
  93: extern int lnmod;
  94: extern int ni;
  95: extern int lnsize;
  96: extern int nb;
  97: extern int nlflg;
  98: extern int apts, apts1, pts, pts1, font, font1;
  99: extern int ulfont;
 100: extern int ulbit;
 101: extern int error;
 102: extern int nmbits;
 103: extern int chbits;
 104: extern int tdelim;
 105: extern int xxx;
 106: int iflist[NIF];
 107: int ifx;
 108: 
 109: casead(){
 110:     register i;
 111: 
 112:     ad = 1;
 113:     /*leave admod alone*/
 114:     if(skip())return;
 115:     switch(i = getch() & CMASK){
 116:         case 'r':   /*right adj, left ragged*/
 117:             admod = 2;
 118:             break;
 119:         case 'l':   /*left adj, right ragged*/
 120:             admod = ad = 0; /*same as casena*/
 121:             break;
 122:         case 'c':   /*centered adj*/
 123:             admod = 1;
 124:             break;
 125:         case 'b': case 'n':
 126:             admod = 0;
 127:             break;
 128:         case '0': case '2': case '4':
 129:             ad = 0;
 130:         case '1': case '3': case '5':
 131:             admod = (i - '0')/2;
 132:     }
 133: }
 134: casena(){
 135:     ad = 0;
 136: }
 137: casefi(){
 138:     tbreak();
 139:     fi++;
 140:     pendnf = 0;
 141:     lnsize = LNSIZE;
 142: }
 143: casenf(){
 144:     tbreak();
 145:     fi = 0;
 146: /* can't do while oline is only LNSIZE
 147: 	lnsize = LNSIZE + WDSIZE;
 148: */
 149: }
 150: casers(){
 151:     dip->nls = 0;
 152: }
 153: casens(){
 154:     dip->nls++;
 155: }
 156: chget(c)
 157: int c;
 158: {
 159:     register i;
 160: 
 161:     if(skip() ||
 162:       ((i = getch()) & MOT) ||
 163:       ((i&CMASK) == ' ') ||
 164:       ((i&CMASK) == '\n')){
 165:         ch = i;
 166:         return(c);
 167:     }else return(i & BMASK);
 168: }
 169: casecc(){
 170:     cc = chget('.');
 171: }
 172: casec2(){
 173:     c2 = chget('\'');
 174: }
 175: casehc(){
 176:     ohc = chget(OHC);
 177: }
 178: casetc(){
 179:     tabc = chget(0);
 180: }
 181: caselc(){
 182:     dotc = chget(0);
 183: }
 184: casehy(){
 185:     register i;
 186: 
 187:     hyf = 1;
 188:     if(skip())return;
 189:     noscale++;
 190:     i = atoi();
 191:     noscale = 0;
 192:     if(nonumb)return;
 193:     hyf = max(i,0);
 194: }
 195: casenh(){
 196:     hyf = 0;
 197: }
 198: max(aa,bb)
 199: int aa,bb;
 200: {
 201:     if(aa>bb)return(aa);
 202:     else return(bb);
 203: }
 204: casece(){
 205:     register i;
 206: 
 207:     noscale++;
 208:     skip();
 209:     i = max(atoi(),0);
 210:     if(nonumb)i = 1;
 211:     tbreak();
 212:     ce = i;
 213:     noscale = 0;
 214: }
 215: casein(){
 216:     register i;
 217: 
 218:     if(skip())i = in1;
 219:     else i = max(hnumb(&in),0);
 220:     tbreak();
 221:     in1 = in;
 222:     in = i;
 223:     if(!nc){
 224:         un = in;
 225:         setnel();
 226:     }
 227: }
 228: casell(){
 229:     register i;
 230: 
 231:     if(skip())i = ll1;
 232:     else i = max(hnumb(&ll),INCH/10);
 233:     ll1 = ll;
 234:     ll = i;
 235:     setnel();
 236: }
 237: caselt(){
 238:     register i;
 239: 
 240:     if(skip())i = lt1;
 241:     else i = max(hnumb(&lt),0);
 242:     lt1 = lt;
 243:     lt = i;
 244: }
 245: caseti(){
 246:     register i;
 247: 
 248:     if(skip())return;
 249:     i = max(hnumb(&in),0);
 250:     tbreak();
 251:     un1 = i;
 252:     setnel();
 253: }
 254: casels(){
 255:     register i;
 256: 
 257:     noscale++;
 258:     if(skip())i = ls1;
 259:     else i = max(inumb(&ls),1);
 260:     ls1 = ls;
 261:     ls = i;
 262:     noscale = 0;
 263: }
 264: casepo(){
 265:     register i;
 266: 
 267:     if(skip())i = po1;
 268:     else i = max(hnumb(&po),0);
 269:     po1 = po;
 270:     po = i;
 271: #ifndef NROFF
 272:     if(!ascii)esc += po - po1;
 273: #endif
 274: }
 275: casepl(){
 276:     register i;
 277: 
 278:     skip();
 279:     if((i = vnumb(&pl)) == 0)pl = 11 * INCH; /*11in*/
 280:         else pl = i;
 281:     if(v.nl > pl)v.nl = pl;
 282: }
 283: casewh(){
 284:     register i, j, k;
 285: 
 286:     lgf++;
 287:     skip();
 288:     i = vnumb((int *)0);
 289:     if(nonumb)return;
 290:     skip();
 291:     j = getrq();
 292:     if((k=findn(i)) != NTRAP){
 293:         mlist[k] = j;
 294:         return;
 295:     }
 296:     for(k=0; k<NTRAP; k++)if(mlist[k] == 0)break;
 297:     if(k == NTRAP){
 298:         prstrfl("Cannot plant trap.\n");
 299:         return;
 300:     }
 301:     mlist[k] = j;
 302:     nlist[k] = i;
 303: }
 304: casech(){
 305:     register i, j, k;
 306: 
 307:     lgf++;
 308:     skip();
 309:     if(!(j=getrq()))return;
 310:         else for(k=0; k<NTRAP; k++)if(mlist[k] == j)break;
 311:     if(k == NTRAP)return;
 312:     skip();
 313:     i = vnumb((int *)0);
 314:     if(nonumb)mlist[k] = 0;
 315:     nlist[k] = i;
 316: }
 317: findn(i)
 318: int i;
 319: {
 320:     register k;
 321: 
 322:     for(k=0; k<NTRAP; k++)
 323:         if((nlist[k] == i) && (mlist[k] != 0))break;
 324:     return(k);
 325: }
 326: casepn(){
 327:     register i;
 328: 
 329:     skip();
 330:     noscale++;
 331:     i = max(inumb(&v.pn),0);
 332:     noscale = 0;
 333:     if(!nonumb){
 334:         npn = i;
 335:         npnflg++;
 336:     }
 337: }
 338: casebp(){
 339:     register i;
 340:     register struct s *savframe;
 341: 
 342:     if(dip != d)return;
 343:     savframe = frame;
 344:     skip();
 345:     if((i = inumb(&v.pn)) < 0)i = 0;
 346:     tbreak();
 347:     if(!nonumb){
 348:         npn = i;
 349:         npnflg++;
 350:     }else if(dip->nls)return;
 351:     eject(savframe);
 352: }
 353: casetm(x) int x;{
 354:     register i;
 355:     char tmbuf[NTM];
 356: 
 357:     lgf++;
 358:     copyf++;
 359:     if(skip() && x)prstrfl("User Abort.");
 360:     for(i=0; i<NTM-2;)if((tmbuf[i++]=getch()) == '\n')break;
 361:     if(i == NTM-2)tmbuf[i++] = '\n';
 362:     tmbuf[i] = 0;
 363:     prstrfl(tmbuf);
 364:     copyf--;
 365: }
 366: casesp(a)
 367: int a;
 368: {
 369:     register i, j, savlss;
 370: 
 371:     tbreak();
 372:     if(dip->nls || trap)return;
 373:     i = findt1();
 374:     if(!a){
 375:         skip();
 376:         j = vnumb((int *)0);
 377:         if(nonumb)j = lss;
 378:     }else j = a;
 379:     if(j == 0)return;
 380:     if(i < j)j = i;
 381:     savlss = lss;
 382:     if(dip != d)i = dip->dnl; else i = v.nl;
 383:     if((i + j) < 0)j = -i;
 384:     lss = j;
 385:     newline(0);
 386:     lss = savlss;
 387: }
 388: casert(){
 389:     register a, *p;
 390: 
 391:     skip();
 392:     if(dip != d)p = &dip->dnl; else p = &v.nl;
 393:     a = vnumb(p);
 394:     if(nonumb)a = dip->mkline;
 395:     if((a < 0) || (a >= *p))return;
 396:     nb++;
 397:     casesp(a - *p);
 398: }
 399: caseem(){
 400:     lgf++;
 401:     skip();
 402:     em = getrq();
 403: }
 404: casefl(){
 405:     tbreak();
 406:     flusho();
 407: }
 408: caseev(){
 409:     register nxev;
 410:     extern int block;
 411: 
 412:     if(skip()){
 413: e0:
 414:         if(evi == 0)return;
 415:         nxev =  evlist[--evi];
 416:         goto e1;
 417:     }
 418:     noscale++;
 419:     nxev = atoi();
 420:     noscale = 0;
 421:     if(nonumb)goto e0;
 422:     flushi();
 423:     if((nxev >= NEV) || (nxev < 0) || (evi >= EVLSZ)){
 424:         prstrfl("Cannot do ev.\n");
 425:         if(error)done2(040);else edone(040);
 426:         return;
 427:     }
 428:     evlist[evi++] = ev;
 429: e1:
 430:     if(ev == nxev)return;
 431:     lseek(ibf, (long)(ev*EVS*sizeof(int)), 0);
 432:     write(ibf,(char *)&block, EVS*sizeof(int));
 433:     lseek(ibf, (long)(nxev*EVS*sizeof(int)), 0);
 434:     read(ibf,(char *)&block, EVS*sizeof(int));
 435:     ev = nxev;
 436: }
 437: caseel(){
 438:     if(--ifx < 0){
 439:         ifx = 0;
 440:         iflist[0] = 0;
 441:     }
 442:     caseif(2);
 443: }
 444: caseie(){
 445:     if(ifx >= NIF){
 446:         prstr("if-else overflow.\n");
 447:         ifx = 0;
 448:         edone(040);
 449:     }
 450:     caseif(1);
 451:     ifx++;
 452: }
 453: caseif(x)
 454: int x;
 455: {
 456:     register i, notflag, true;
 457: 
 458:     if(x == 2){
 459:         notflag = 0;
 460:         true = iflist[ifx];
 461:         goto i1;
 462:     }
 463:     true = 0;
 464:     skip();
 465:     if(((i = getch()) & CMASK) == '!'){
 466:         notflag = 1;
 467:     }else{
 468:         notflag = 0;
 469:         ch = i;
 470:     }
 471:     i = atoi();
 472:     if(!nonumb){
 473:         if(i > 0)true++;
 474:         goto i1;
 475:     }
 476:     switch((i = getch()) & CMASK){
 477:         case 'e':
 478:             if(!(v.pn & 01))true++;
 479:             break;
 480:         case 'o':
 481:             if(v.pn & 01)true++;
 482:             break;
 483: #ifdef NROFF
 484:         case 'n':
 485:             true++;
 486:         case 't':
 487: #endif
 488: #ifndef NROFF
 489:         case 't':
 490:             true++;
 491:         case 'n':
 492: #endif
 493:         case ' ':
 494:             break;
 495:         default:
 496:             true = cmpstr(i);
 497:     }
 498: i1:
 499:     true ^= notflag;
 500:     if(x == 1)iflist[ifx] = !true;
 501:     if(true){
 502:     i2:
 503:         do{
 504:         v.hp = 0;
 505:         pinchar = inchar;   /* XXX */
 506:         }
 507:         while(((i = getch()) & CMASK) == ' ');
 508:         if((i & CMASK) == LEFT)goto i2;
 509:         ch = i;
 510:         nflush++;
 511:     }else{
 512:         copyf++;
 513:         if(eat(LEFT) == LEFT){
 514:             while(eatblk(RIGHT,LEFT) != RIGHT)nlflg = 0;
 515:         }
 516:         copyf--;
 517:     }
 518: }
 519: eatblk(right,left)
 520: int right,left;
 521: {
 522:     register i;
 523: 
 524: e0:
 525:     while(((i = getch() & CMASK) != right) &&
 526:         (i != left) &&
 527:         (i != '\n'));
 528:     if(i == left){
 529:         while((i=eatblk(right,left)) != right)nlflg = 0;
 530:         goto e0;
 531:     }
 532:     return(i);
 533: }
 534: cmpstr(delim)
 535: int delim;
 536: {
 537:     register i, j;
 538:     register filep p;
 539:     extern filep alloc();
 540:     extern filep incoff();
 541:     filep begin;
 542:     int cnt, k;
 543:     int savapts, savapts1, savfont, savfont1,
 544:         savpts, savpts1;
 545: 
 546:     if(delim & MOT)return(0);
 547:     delim &= CMASK;
 548:     if(dip != d)wbfl();
 549:     if((offset = begin = alloc()) == (filep)0)return(0);
 550:     cnt = 0;
 551:     v.hp = 0;
 552:     pinchar = inchar;   /* XXX */
 553:     savapts = apts;
 554:     savapts1 = apts1;
 555:     savfont = font;
 556:     savfont1 = font1;
 557:     savpts = pts;
 558:     savpts1 = pts1;
 559:     while(((j = (i=getch()) & CMASK) != delim) && (j != '\n')){
 560:         wbf(i);
 561:         cnt++;
 562:     }
 563:     wbt(0);
 564:     k = !cnt;
 565:     if(nlflg)goto rtn;
 566:     p = begin;
 567:     apts = savapts;
 568:     apts1 = savapts1;
 569:     font = savfont;
 570:     font1 = savfont1;
 571:     pts = savpts;
 572:     pts1 = savpts1;
 573:     mchbits();
 574:     v.hp = 0;
 575:     pinchar = inchar;   /* XXX */
 576:     while(((j = (i=getch()) & CMASK) != delim) && (j != '\n')){
 577:         if(rbf0(p) != i){
 578:             eat(delim);
 579:             k = 0;
 580:             break;
 581:         }
 582:         p = incoff(p);
 583:         k = !(--cnt);
 584:     }
 585: rtn:
 586:     apts = savapts;
 587:     apts1 = savapts1;
 588:     font = savfont;
 589:     font1 = savfont1;
 590:     pts = savpts;
 591:     pts1 = savpts1;
 592:     mchbits();
 593:     offset = dip->op;
 594:     ffree(begin);
 595:     return(k);
 596: }
 597: caserd(){
 598: 
 599:     lgf++;
 600:     skip();
 601:     getname();
 602:     if(!iflg){
 603:         if(quiet){
 604:             ttys.sg_flags &= ~ECHO;
 605:             stty(0, &ttys);
 606:             prstrfl(""); /*bell*/
 607:         }else{
 608:             if(nextf[0]){
 609:                 prstr(nextf);
 610:                 prstr(":");
 611:             }else{
 612:                 prstr(""); /*bell*/
 613:             }
 614:         }
 615:     }
 616:     collect();
 617:     tty++;
 618:     pushi((filep)-1);
 619: }
 620: rdtty(){
 621:     char onechar;
 622: 
 623:     onechar = 0;
 624:     if(read(0, &onechar, 1) == 1){
 625:         if(onechar == '\n')tty++;
 626:             else tty = 1;
 627:         if(tty != 3)return(onechar);
 628:     }
 629:     popi();
 630:     tty = 0;
 631:     if(quiet){
 632:         ttys.sg_flags |= ECHO;
 633:         stty(0, &ttys);
 634:     }
 635:     return(0);
 636: }
 637: caseec(){
 638:     eschar = chget('\\');
 639: }
 640: caseeo(){
 641:     eschar = 0;
 642: }
 643: caseli(){
 644: 
 645:     skip();
 646:     lit = max(inumb((int *)0),1);
 647:     litlev = frame;
 648:     if((dip == d) && (v.nl == -1))newline(1);
 649: }
 650: caseta(){
 651:     register i;
 652: 
 653:     tabtab[0] = nonumb = 0;
 654:     for(i=0; ((i < (NTAB-1)) && !nonumb); i++){
 655:         if(skip())break;
 656:         tabtab[i] = tabtab[max(i-1,0)] & TMASK;
 657:         tabtab[i] = max(hnumb(&tabtab[i]),0) & TMASK;
 658:         if(!nonumb) switch(ch & CMASK){
 659:             case 'C':
 660:                 tabtab[i] |= CTAB;
 661:                 break;
 662:             case 'R':
 663:                 tabtab[i] |= RTAB;
 664:                 break;
 665:             default: /*includes L*/
 666:                 break;
 667:             }
 668:         nonumb = ch = 0;
 669:     }
 670:     tabtab[i] = 0;
 671: }
 672: casene(){
 673:     register i, j;
 674: 
 675:     skip();
 676:     i = vnumb((int *)0);
 677:     if(nonumb)i = lss;
 678:     if(i > (j = findt1())){
 679:         i = lss;
 680:         lss = j;
 681:         dip->nls = 0;
 682:         newline(0);
 683:         lss = i;
 684:     }
 685: }
 686: casetr(){
 687:     register i, j;
 688: 
 689:     lgf++;
 690:     skip();
 691:     while((i = getch() & CMASK) != '\n'){
 692:         if((i & MOT) || ((j = getch()) & MOT))return;
 693:         if((j &= CMASK) == '\n')j = ' ';
 694:         trtab[i] = j;
 695:     }
 696: }
 697: casecu(){
 698:     cu++;
 699:     caseul();
 700: }
 701: caseul(){
 702:     register i;
 703: 
 704:     noscale++;
 705:     if(skip())i = 1;
 706:     else i = atoi();
 707:     if(ul && (i == 0)){
 708:         font = sfont;
 709:         ul = cu = 0;
 710:     }
 711:     if(i){
 712:         if(!ul){
 713:             sfont = font;
 714:             font = ulfont;
 715:         }
 716:         ul = i;
 717:     }
 718:     noscale = 0;
 719:     mchbits();
 720: }
 721: caseuf(){
 722:     register i, j;
 723: 
 724:     if(skip() || !(i = getrq()) || (i == 'S') ||
 725:         ((j = find(i,fontlab))  == -1))
 726:             ulfont = 1; /*default position 2*/
 727:     else ulfont = j;
 728: #ifdef NROFF
 729:     if(ulfont == 0)ulfont = 1;
 730: #endif
 731:     ulbit = ulfont<<9;
 732: }
 733: caseit(){
 734:     register i;
 735: 
 736:     lgf++;
 737:     it = itmac = 0;
 738:     noscale++;
 739:     skip();
 740:     i = atoi();
 741:     skip();
 742:     if(!nonumb && (itmac = getrq()))it = i;
 743:     noscale = 0;
 744: }
 745: casemc(){
 746:     register i;
 747: 
 748:     if(icf > 1)ic = 0;
 749:     icf = 0;
 750:     if(skip())return;
 751:     ic = getch();
 752:     icf = 1;
 753:     skip();
 754:     i = max(hnumb((int *)0),0);
 755:     if(!nonumb)ics = i;
 756: }
 757: casemk(){
 758:     register i, j;
 759: 
 760:     if(dip != d)j = dip->dnl; else j = v.nl;
 761:     if(skip()){
 762:         dip->mkline = j;
 763:         return;
 764:     }
 765:     if((i = getrq()) == 0)return;
 766:     vlist[findr(i)] = j;
 767: }
 768: casesv(){
 769:     register i;
 770: 
 771:     skip();
 772:     if((i = vnumb((int *)0)) < 0)return;
 773:     if(nonumb)i = 1;
 774:     sv += i;
 775:     caseos();
 776: }
 777: caseos(){
 778:     register savlss;
 779: 
 780:     if(sv <= findt1()){
 781:         savlss = lss;
 782:         lss = sv;
 783:         newline(0);
 784:         lss = savlss;
 785:         sv = 0;
 786:     }
 787: }
 788: casenm(){
 789:     register i;
 790: 
 791:     lnmod = nn = 0;
 792:     if(skip())return;
 793:     lnmod++;
 794:     noscale++;
 795:     i = inumb(&v.ln);
 796:     if(!nonumb)v.ln = max(i,0);
 797:     getnm(&ndf,1);
 798:     getnm(&nms,0);
 799:     getnm(&ni,0);
 800:     noscale = 0;
 801:     nmbits = chbits;
 802: }
 803: getnm(p,min)
 804: int *p, min;
 805: {
 806:     register i;
 807: 
 808:     eat(' ');
 809:     if(skip())return;
 810:     i = atoi();
 811:     if(nonumb)return;
 812:     *p = max(i,min);
 813: }
 814: casenn(){
 815:     noscale++;
 816:     skip();
 817:     nn = max(atoi(),1);
 818:     noscale = 0;
 819: }
 820: caseab(){
 821:     dummy();
 822:     casetm(1);
 823:     done2(0);
 824: }

Defined functions

caseab defined in line 820; used 2 times
casead defined in line 109; used 2 times
casebp defined in line 338; used 2 times
casec2 defined in line 172; used 2 times
casecc defined in line 169; used 2 times
casece defined in line 204; used 2 times
casech defined in line 304; used 2 times
casecu defined in line 697; used 2 times
caseec defined in line 637; used 2 times
caseel defined in line 437; used 2 times
caseem defined in line 399; used 2 times
caseeo defined in line 640; used 2 times
caseev defined in line 408; used 2 times
casefi defined in line 137; used 2 times
casefl defined in line 404; used 2 times
casehc defined in line 175; used 2 times
casehy defined in line 184; used 2 times
caseie defined in line 444; used 2 times
caseif defined in line 453; used 4 times
casein defined in line 215; used 2 times
caseit defined in line 733; used 2 times
caselc defined in line 181; used 2 times
caseli defined in line 643; used 2 times
casell defined in line 228; used 2 times
casels defined in line 254; used 2 times
caselt defined in line 237; used 2 times
casemc defined in line 745; used 2 times
casemk defined in line 757; used 2 times
casena defined in line 134; used 2 times
casene defined in line 672; used 2 times
casenf defined in line 143; used 2 times
casenh defined in line 195; used 2 times
casenm defined in line 788; used 2 times
casenn defined in line 814; used 2 times
casens defined in line 153; used 2 times
caseos defined in line 777; used 3 times
casepl defined in line 275; used 2 times
casepn defined in line 326; used 2 times
casepo defined in line 264; used 2 times
caserd defined in line 597; used 2 times
casers defined in line 150; used 2 times
casert defined in line 388; used 2 times
casesp defined in line 366; used 4 times
casesv defined in line 768; used 2 times
caseta defined in line 650; used 2 times
casetc defined in line 178; used 2 times
caseti defined in line 245; used 2 times
casetm defined in line 353; used 3 times
casetr defined in line 686; used 2 times
caseuf defined in line 721; used 2 times
caseul defined in line 701; used 3 times
casewh defined in line 283; used 2 times
chget defined in line 156; used 7 times
cmpstr defined in line 534; used 1 times
eatblk defined in line 519; used 2 times
findn defined in line 317; used 2 times
getnm defined in line 803; used 3 times
max defined in line 198; used 16 times
rdtty defined in line 620; used 1 times

Defined variables

iflist defined in line 106; used 3 times
ifx defined in line 107; used 7 times
sccsid defined in line 2; never used
Last modified: 1983-06-30
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2673
Valid CSS Valid XHTML 1.0 Strict