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

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[] = "@(#)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: }

unix.superglobalmegacorp.com

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