|
|
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.