date and time created 83/08/05 13:35:06 by sam
[unix-history] / usr / src / old / lib2648 / rawchar.c
/* 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);
}