From 2f01710ccab5262be2d68e58f57a10139252255b Mon Sep 17 00:00:00 2001 From: Ralph Campbell Date: Thu, 10 Mar 1983 00:23:09 -0800 Subject: [PATCH] date and time created 83/03/09 16:23:09 by ralph SCCS-vsn: old/lib2648/rawchar.c 4.1 --- usr/src/old/lib2648/rawchar.c | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 usr/src/old/lib2648/rawchar.c diff --git a/usr/src/old/lib2648/rawchar.c b/usr/src/old/lib2648/rawchar.c new file mode 100644 index 0000000000..73f40e8e69 --- /dev/null +++ b/usr/src/old/lib2648/rawchar.c @@ -0,0 +1,37 @@ +/* rawchar.c 4.1 83/03/09 */ +/* + * get a character from the terminal, with no line buffering. + */ + +#include "2648.h" + +rawchar() +{ + char c; + + sync(); + escseq(NONE); + fflush(stdout); + if (_pb_front && _on2648) { + c = *_pb_front++; +#ifdef TRACE + if (trace) + fprintf(trace, "%s from queue, front=%d, back=%d\n", rdchar(c), _pb_front-_pushback, _pb_back-_pushback); +#endif + if (_pb_front > _pb_back) { + _pb_front = _pb_back = NULL; +#ifdef TRACE + if (trace) + fprintf(trace, "reset pushback to null\n"); +#endif + } + return (c); + } + _outcount = 0; + c = getchar(); +#ifdef TRACE + if (trace) + fprintf(trace, "rawchar '%s'\n", rdchar(c)); +#endif + return (c); +} -- 2.20.1