|
|
1.1 root 1: /* rawchar.c 4.1 83/03/09 */
2: /*
3: * get a character from the terminal, with no line buffering.
4: */
5:
6: #include "2648.h"
7:
8: rawchar()
9: {
10: char c;
11:
12: sync();
13: escseq(NONE);
14: fflush(stdout);
15: if (_pb_front && _on2648) {
16: c = *_pb_front++;
17: #ifdef TRACE
18: if (trace)
19: fprintf(trace, "%s from queue, front=%d, back=%d\n", rdchar(c), _pb_front-_pushback, _pb_back-_pushback);
20: #endif
21: if (_pb_front > _pb_back) {
22: _pb_front = _pb_back = NULL;
23: #ifdef TRACE
24: if (trace)
25: fprintf(trace, "reset pushback to null\n");
26: #endif
27: }
28: return (c);
29: }
30: _outcount = 0;
31: c = getchar();
32: #ifdef TRACE
33: if (trace)
34: fprintf(trace, "rawchar '%s'\n", rdchar(c));
35: #endif
36: return (c);
37: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.