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[] = "@(#)outchar.c 5.1 (Berkeley) 4/26/85";
9: #endif not lint
10:
11: #include "2648.h"
12:
13: outchar(c)
14: char c;
15: {
16: extern int QUIET;
17: #ifdef TRACE
18: if (trace)
19: fprintf(trace, "%s", rdchar(c));
20: #endif
21: if (QUIET)
22: return;
23: _outcount++;
24: putchar(c);
25:
26: /* Do 2648 ^E/^F handshake */
27: if (_outcount > TBLKSIZ && _on2648) {
28: #ifdef TRACE
29: if (trace)
30: fprintf(trace, "ENQ .. ");
31: #endif
32: putchar(ENQ);
33: fflush(stdout);
34: c = getchar();
35: while (c != ACK) {
36: if (_pb_front == NULL) {
37: _pb_front = _pushback;
38: _pb_back = _pb_front - 1;
39: }
40: *++_pb_back = c;
41: #ifdef TRACE
42: if (trace)
43: fprintf(trace, "push back %s, front=%d, back=%d, ", rdchar(c), _pb_front-_pushback, _pb_front-_pushback);
44: #endif
45: c = getchar();
46: }
47: #ifdef TRACE
48: if (trace)
49: fprintf(trace, "ACK\n");
50: #endif
51: _outcount = 0;
52: }
53: }
Defined functions
Defined variables
sccsid
defined in line
8;
never used