Annotation of 41BSD/cmd/oldcsh/sh.print.c, revision 1.1.1.1

1.1       root        1: /* Copyright (c) 1979 Regents of the University of California */
                      2: #include "sh.h"
                      3: 
                      4: /*
                      5:  * C Shell
                      6:  */
                      7: 
                      8: p60ths(l)
                      9:        long l;
                     10: {
                     11: 
                     12:        l += 3;
                     13:        printf("%d.%d", (int) (l / 60), (int) ((l % 60) / 6));
                     14: }
                     15: 
                     16: psecs(l)
                     17:        long l;
                     18: {
                     19:        register int i;
                     20: 
                     21:        i = l / 3600;
                     22:        if (i) {
                     23:                printf("%d:", i);
                     24:                i = l % 3600;
                     25:                p2dig(i / 60);
                     26:                goto minsec;
                     27:        }
                     28:        i = l;
                     29:        printf("%d", i / 60);
                     30: minsec:
                     31:        i %= 60;
                     32:        printf(":");
                     33:        p2dig(i);
                     34: }
                     35: 
                     36: p2dig(i)
                     37:        register int i;
                     38: {
                     39: 
                     40:        printf("%d%d", i / 10, i % 10);
                     41: }
                     42: 
                     43: char   linbuf[64];
                     44: char   *linp = linbuf;
                     45: 
                     46: putchar(c)
                     47:        register int c;
                     48: {
                     49: 
                     50:        if ((c & QUOTE) == 0 && (c == 0177 || c < ' ' && c != '\t' && c != '\n')) {
                     51:                putchar('^');
                     52:                if (c == 0177)
                     53:                        c = '?';
                     54:                else
                     55:                        c |= 'A' - 1;
                     56:        }
                     57:        c &= TRIM;
                     58:        *linp++ = c;
                     59:        if (c == '\n' || linp >= &linbuf[sizeof linbuf - 2])
                     60:                flush();
                     61: }
                     62: 
                     63: draino()
                     64: {
                     65: 
                     66:        linp = linbuf;
                     67: }
                     68: 
                     69: flush()
                     70: {
                     71:        register int unit;
                     72: 
                     73:        if (haderr)
                     74:                unit = didfds ? 2 : SHDIAG;
                     75:        else
                     76:                unit = didfds ? 1 : SHOUT;
                     77:        if (linp != linbuf) {
                     78:                write(unit, linbuf, linp - linbuf);
                     79:                linp = linbuf;
                     80:        }
                     81: }
                     82: 
                     83: plist(vp)
                     84:        register struct varent *vp;
                     85: {
                     86:        register int (*wasintr)();
                     87: 
                     88:        if (setintr)
                     89:                wasintr = signal(SIGINT, pintr);
                     90:        for (vp = vp->link; vp != 0; vp = vp->link) {
                     91:                int len = blklen(vp->vec);
                     92: 
                     93:                printf(vp->name);
                     94:                printf("\t");
                     95:                if (len != 1)
                     96:                        putchar('(');
                     97:                blkpr(vp->vec);
                     98:                if (len != 1)
                     99:                        putchar(')');
                    100:                printf("\n");
                    101:        }
                    102:        if (setintr)
                    103:                signal(SIGINT, wasintr);
                    104: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.