1: #
   2: /*
   3:  * UNIX shell
   4:  *
   5:  * S. R. Bourne
   6:  * Bell Telephone Laboratories
   7:  *
   8:  */
   9: 
  10: #include    "defs.h"
  11: 
  12: CHAR        numbuf[6];
  13: 
  14: 
  15: /* printing and io conversion */
  16: 
  17: newline()
  18: {   prc(NL);
  19: }
  20: 
  21: blank()
  22: {   prc(SP);
  23: }
  24: 
  25: prp()
  26: {
  27:     IF (flags&prompt)==0 ANDF cmdadr
  28:     THEN    prs(cmdadr); prs(colon);
  29:     FI
  30: }
  31: 
  32: VOID    prs(as)
  33:     STRING      as;
  34: {
  35:     REG STRING  s;
  36: 
  37:     IF s=as
  38:     THEN    write(output,s,length(s)-1);
  39:     FI
  40: }
  41: 
  42: VOID    prc(c)
  43:     CHAR        c;
  44: {
  45:     IF c
  46:     THEN    write(output,&c,1);
  47:     FI
  48: }
  49: 
  50: prt(t)
  51:     L_INT       t;
  52: {
  53:     REG INT hr, min, sec;
  54: 
  55:     t += 30; t /= 60;
  56:     sec=t%60; t /= 60;
  57:     min=t%60;
  58:     IF hr=t/60
  59:     THEN    prn(hr); prc('h');
  60:     FI
  61:     prn(min); prc('m');
  62:     prn(sec); prc('s');
  63: }
  64: 
  65: prn(n)
  66:     INT     n;
  67: {
  68:     itos(n); prs(numbuf);
  69: }
  70: 
  71: itos(n)
  72: {
  73:     REG char *abuf; REG POS a, i; INT pr, d;
  74:     abuf=numbuf; pr=FALSE; a=n;
  75:     FOR i=10000; i!=1; i/=10
  76:     DO  IF (pr |= (d=a/i)) THEN *abuf++=d+'0' FI
  77:         a %= i;
  78:     OD
  79:     *abuf++=a+'0';
  80:     *abuf++=0;
  81: }
  82: 
  83: stoi(icp)
  84: STRING  icp;
  85: {
  86:     REG CHAR    *cp = icp;
  87:     REG INT     r = 0;
  88:     REG CHAR    c;
  89: 
  90:     WHILE (c = *cp, digit(c)) ANDF c ANDF r>=0
  91:     DO r = r*10 + c - '0'; cp++ OD
  92:     IF r<0 ORF cp==icp
  93:     THEN    failed(icp,badnum);
  94:     ELSE    return(r);
  95:     FI
  96: }

Defined functions

blank defined in line 21; used 6 times
itos defined in line 71; used 4 times
prc defined in line 42; used 16 times
prn defined in line 65; used 9 times
prp defined in line 25; used 3 times
prs defined in line 32; used 31 times
prt defined in line 50; used 2 times
stoi defined in line 83; used 4 times
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 806
Valid CSS Valid XHTML 1.0 Strict