From dab6893f15cdb597d43ec86906657b88dbf8da16 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Sun, 7 Feb 2021 20:15:24 -0500 Subject: [PATCH] vtysh: disable bracketed paste in readline GNU Readline 8.1 enables bracketed paste by default. This results in newlines not ending the readline() call, which breaks the ability of users to paste in configs to vtysh's interactive shell. Disable bracketed paste. Signed-off-by: Quentin Young --- vtysh/vtysh.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index efb6b28acc..e026a28628 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -4001,10 +4001,16 @@ static char *vtysh_completion_entry_function(const char *ignore, void vtysh_readline_init(void) { /* readline related settings. */ + char *disable_bracketed_paste = + XSTRDUP(MTYPE_TMP, "set enable-bracketed-paste off"); + rl_initialize(); + rl_parse_and_bind(disable_bracketed_paste); rl_bind_key('?', (rl_command_func_t *)vtysh_rl_describe); rl_completion_entry_function = vtysh_completion_entry_function; rl_attempted_completion_function = new_completion; + + XFREE(MTYPE_TMP, disable_bracketed_paste); } char *vtysh_prompt(void) -- 2.39.5