Re: [PATCH v4] readline: make ctrl-u to work like linux console
On Wed, Oct 16, 2019 at 11:56:44PM +0800, sendpa...@qq.com wrote: > From: DU HUANPENG > > currtly, the ctrl-u discards the whole line, in most linux > boxes, ctrl-u just erase characters before cursor to the > begginning of the line. this patch make ctrl-u to do this. > > Signed-off-by: DU HUANPENG > --- > lib/readline.c | 8 > 1 file changed, 8 insertions(+) Applied, thanks Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
[PATCH v4] readline: make ctrl-u to work like linux console
From: DU HUANPENG currtly, the ctrl-u discards the whole line, in most linux boxes, ctrl-u just erase characters before cursor to the begginning of the line. this patch make ctrl-u to do this. Signed-off-by: DU HUANPENG --- lib/readline.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/readline.c b/lib/readline.c index d026af1..3d16c18 100644 --- a/lib/readline.c +++ b/lib/readline.c @@ -290,9 +290,17 @@ int readline(const char *prompt, char *buf, int len) insert = !insert; break; case BB_KEY_ERASE_LINE: + BEGINNING_OF_LINE(); + ERASE_TO_EOL(); + break; case CTL_CH('u'): + wlen = eol_num - num; + memmove(buf, buf+num, wlen); BEGINNING_OF_LINE(); ERASE_TO_EOL(); + eol_num = wlen; + REFRESH_TO_EOL(); + BEGINNING_OF_LINE(); break; case DEL: case BB_KEY_DEL7: -- 2.7.4 ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox