diff options
| -rw-r--r-- | json-rpc-shell.c | 13 | 
1 files 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",  | 
