9boot: don't let user erase the prompt (thanks mischief)
This commit is contained in:
parent
4080322dc9
commit
ed41dd5b28
2 changed files with 8 additions and 4 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue