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: }
Last modified: 1987-02-22
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1646
Valid CSS Valid XHTML 1.0 Strict