|
|
1.1 root 1: /* outchar.c 4.1 83/03/09 */
2:
3: #include "2648.h"
4:
5: outchar(c)
6: char c;
7: {
8: extern int QUIET;
9: #ifdef TRACE
10: if (trace)
11: fprintf(trace, "%s", rdchar(c));
12: #endif
13: if (QUIET)
14: return;
15: _outcount++;
16: putchar(c);
17:
18: /* Do 2648 ^E/^F handshake */
19: if (_outcount > TBLKSIZ && _on2648) {
20: #ifdef TRACE
21: if (trace)
22: fprintf(trace, "ENQ .. ");
23: #endif
24: putchar(ENQ);
25: fflush(stdout);
26: c = getchar();
27: while (c != ACK) {
28: if (_pb_front == NULL) {
29: _pb_front = _pushback;
30: _pb_back = _pb_front - 1;
31: }
32: *++_pb_back = c;
33: #ifdef TRACE
34: if (trace)
35: fprintf(trace, "push back %s, front=%d, back=%d, ", rdchar(c), _pb_front-_pushback, _pb_front-_pushback);
36: #endif
37: c = getchar();
38: }
39: #ifdef TRACE
40: if (trace)
41: fprintf(trace, "ACK\n");
42: #endif
43: _outcount = 0;
44: }
45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.