Annotation of 42BSD/usr.lib/lib2648/outchar.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

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