Annotation of 43BSD/usr.lib/lib2648/rawchar.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[] = "@(#)rawchar.c  5.1 (Berkeley) 4/26/85";
                      9: #endif not lint
                     10: 
                     11: /*
                     12:  * get a character from the terminal, with no line buffering.
                     13:  */
                     14: 
                     15: #include "2648.h"
                     16: 
                     17: rawchar()
                     18: {
                     19:        char c;
                     20: 
                     21:        sync();
                     22:        escseq(NONE);
                     23:        fflush(stdout);
                     24:        if (_pb_front && _on2648) {
                     25:                c = *_pb_front++;
                     26: #ifdef TRACE
                     27:                if (trace)
                     28:                        fprintf(trace, "%s from queue, front=%d, back=%d\n", rdchar(c), _pb_front-_pushback, _pb_back-_pushback);
                     29: #endif
                     30:                if (_pb_front > _pb_back) {
                     31:                        _pb_front = _pb_back = NULL;
                     32: #ifdef TRACE
                     33:                        if (trace)
                     34:                                fprintf(trace, "reset pushback to null\n");
                     35: #endif
                     36:                }
                     37:                return (c);
                     38:        }
                     39:        _outcount = 0;
                     40:        c = getchar();
                     41: #ifdef TRACE
                     42:        if (trace)
                     43:                fprintf(trace, "rawchar '%s'\n", rdchar(c));
                     44: #endif
                     45:        return (c);
                     46: }

unix.superglobalmegacorp.com

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