Files
Arquivotheca.SunOS-4.1.4/sys/boot/lib/common/get.c
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

62 lines
834 B
C

/*
* @(#)get.c 1.1 94/10/31 Copyright (c) 1985 by Sun Microsystems, Inc.
*/
#include <sys/types.h>
#include <mon/sunromvec.h>
#ifdef OPENPROMS
extern int prom_mayget();
#else
#define prom_mayget (*romp->v_mayget)
#endif OPENPROPMS
getchar()
{
register int c;
while ((c = prom_mayget()) == -1)
;
if (c == '\r') {
putchar(c);
c = '\n';
}
if (c == 0177 || c == '\b') {
putchar('\b');
putchar(' ');
c = '\b';
}
putchar(c);
return (c);
}
gets(buf)
char *buf;
{
register char *lp;
register c;
lp = buf;
for (;;) {
c = getchar() & 0177;
switch(c) {
case '\n':
case '\r':
c = '\n';
*lp++ = '\0';
return;
case '\b':
lp--;
if (lp < buf)
lp = buf;
continue;
case 'u'&037: /* ^U */
lp = buf;
putchar('\r');
putchar('\n');
continue;
default:
*lp++ = c;
}
}
}