diff options
author | rnordier <rnordier@FreeBSD.org> | 1998-10-17 11:25:05 +0000 |
---|---|---|
committer | rnordier <rnordier@FreeBSD.org> | 1998-10-17 11:25:05 +0000 |
commit | 8671c8b39b692862c6abd1f6a1221241ae58970b (patch) | |
tree | 7dd3971b0214659efebfcc357026fb9157180f4b /sys/boot/i386/gptboot | |
parent | ce63af0fefca524519c319edbedec4fe39998346 (diff) | |
download | FreeBSD-src-8671c8b39b692862c6abd1f6a1221241ae58970b.zip FreeBSD-src-8671c8b39b692862c6abd1f6a1221241ae58970b.tar.gz |
Fix some glitches in the input routine:
Don't display a \b if not acting on it.
Don't process binary zero chars (which result from pressing function
keys, etc. on the PC).
Diffstat (limited to 'sys/boot/i386/gptboot')
-rw-r--r-- | sys/boot/i386/gptboot/gptboot.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/boot/i386/gptboot/gptboot.c b/sys/boot/i386/gptboot/gptboot.c index d4ecbbe..6bc0437 100644 --- a/sys/boot/i386/gptboot/gptboot.c +++ b/sys/boot/i386/gptboot/gptboot.c @@ -14,7 +14,7 @@ */ /* - * $Id: boot2.c,v 1.10 1998/10/17 09:50:09 rnordier Exp $ + * $Id: boot2.c,v 1.11 1998/10/17 10:35:15 rnordier Exp $ */ #include <sys/param.h> @@ -646,9 +646,13 @@ getstr(char *str, int size) s = str; do { switch (c = getchar()) { + case 0: + break; case '\b': if (s > str) s--; + else + c = 0; break; case '\n': *s = 0; @@ -657,7 +661,8 @@ getstr(char *str, int size) if (s - str < size - 1) *s++ = c; } - putchar(c); + if (c) + putchar(c); } while (c != '\n'); } |