if(!lastch){
elb->inbuf=0; /* Start new line */
}
- if(ch == '\b') { /* backspace */
+ if(ch == '\b' || ch == 127) { /* backspace, del (sometimes backspace = 127) */
if (elb->inbuf > 0)
elb->inbuf--;
return 0;
else
if(el->flg&FL_ELB_ECHO) {
while(cmd_io_putc(io_stack,ch)<0);
- if (ch == '\b')
- cmd_io_puts(io_stack, "\033[K"); /* Erase End of Line */
+ if (ch == 127)
+ while(cmd_io_putc(io_stack,'\b')<0);
+ if (ch == '\b' || ch == 127)
+ cmd_io_puts(io_stack, "\033[K"); /* Erase End of Line */
}
}
return 0;