|
|
1.1 root 1: /*
2: * Copyright (c) 1980 Regents of the University of California.
3: * All rights reserved. The Berkeley Software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char *sccsid = "@(#)sh.print.c 5.4 (Berkeley) 6/6/88";
9: #endif
10:
11: #include "sh.h"
12: #include <sys/ioctl.h>
13:
14: /*
15: * C Shell
16: */
17:
18: psecs(l)
19: long l;
20: {
21: register int i;
22:
23: i = l / 3600;
24: if (i) {
25: printf("%d:", i);
26: i = l % 3600;
27: p2dig(i / 60);
28: goto minsec;
29: }
30: i = l;
31: printf("%d", i / 60);
32: minsec:
33: i %= 60;
34: printf(":");
35: p2dig(i);
36: }
37:
38: p2dig(i)
39: register int i;
40: {
41:
42: printf("%d%d", i / 10, i % 10);
43: }
44:
45: char linbuf[LINELEN];
46: char *linp = linbuf;
47:
48: cshputchar(ch)
49: register int ch;
50: {
51: CSHPUTCHAR;
52: }
53:
54: draino()
55: {
56: linp = linbuf;
57: }
58:
59: flush()
60: {
61: register int unit;
62: int lmode;
63:
64: if (linp == linbuf)
65: return;
66: if (haderr)
67: unit = didfds ? 2 : SHDIAG;
68: else
69: unit = didfds ? 1 : SHOUT;
70: #ifdef TIOCLGET
71: if (didfds == 0 && ioctl(unit, TIOCLGET, (char *)&lmode) == 0 &&
72: lmode&LFLUSHO) {
73: lmode = LFLUSHO;
74: (void) ioctl(unit, TIOCLBIC, (char *)&lmode);
75: (void) write(unit, "\n", 1);
76: }
77: #endif
78: (void) write(unit, linbuf, linp - linbuf);
79: linp = linbuf;
80: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.