From e49ff84b7448e8c9702648bcaf49b0344d077162 Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch Date: Tue, 1 Sep 2020 19:26:37 +0200 Subject: Strip trailing newlines from editor output --- json-rpc-shell.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/json-rpc-shell.c b/json-rpc-shell.c index b11ce8c..a95e99e 100644 --- a/json-rpc-shell.c +++ b/json-rpc-shell.c @@ -3177,9 +3177,16 @@ process_edited_input (struct app_context *ctx) print_error ("%s: %s", "input editing failed", e->message); error_free (e); } - else if (!ctx->input->vtable->replace_line (ctx->input, input.str)) - print_error ("%s: %s", "input editing failed", - "could not re-insert modified text"); + else + { + // Strip trailing newlines, added automatically by editors + while (input.len && strchr ("\r\n", input.str[input.len - 1])) + input.str[--input.len] = 0; + + if (!ctx->input->vtable->replace_line (ctx->input, input.str)) + print_error ("%s: %s", "input editing failed", + "could not re-insert modified text"); + } if (unlink (ctx->editor_filename)) print_error ("could not unlink `%s': %s", -- cgit v1.2.3-70-g09d2