9boot: don't let user erase the prompt (thanks mischief)

This commit is contained in:
cinap_lenrek 2018-09-16 13:47:33 +02:00
parent 4080322dc9
commit ed41dd5b28
2 changed files with 8 additions and 4 deletions

View file

@ -110,13 +110,15 @@ readline(void *f, char buf[64])
if(f == nil){
while((*p = getc()) == 0)
;
if(p == buf && (*p == '\b' || strchr(white, *p) != nil))
continue;
putc(*p);
if(*p == '\r')
putc('\n');
else if(*p == '\b' && p > buf){
else if(*p == '\b'){
p--;
putc(' ');
putc('\b');
p--;
continue;
}
}else if(read(f, p, 1) <= 0)

View file

@ -133,13 +133,15 @@ readline(void *f, char buf[64])
if(f == nil){
while((*p = getc()) == 0)
;
if(p == buf && (*p == '\b' || strchr(white, *p) != nil))
continue;
putc(*p);
if(*p == '\r')
putc('\n');
else if(*p == '\b' && p > buf){
else if(*p == '\b'){
p--;
putc(' ');
putc('\b');
p--;
continue;
}
}else if(read(f, p, 1) <= 0)