summaryrefslogtreecommitdiffstats
path: root/src/channel.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-26 17:58:53 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-26 17:58:53 +0200
commitf1f0792e55e72cdc7c833b30f565a9b02f18bb1e (patch)
tree0c63bd3971cde94874394587ca3bede776f87abf /src/channel.c
parent9f28953f0c1e3d9fffd49af76503f54eaa279acb (diff)
patch 7.4.2258v7.4.2258
Problem: Two JSON messages are sent without a separator. Solution: Separate messages with a NL. (closes #1001)
Diffstat (limited to 'src/channel.c')
-rw-r--r--src/channel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/channel.c b/src/channel.c
index 4435248853..7488574238 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -2165,7 +2165,7 @@ channel_exe_cmd(channel_T *channel, int part, typval_T *argv)
int id = argv[id_idx].vval.v_number;
if (tv != NULL)
- json = json_encode_nr_expr(id, tv, options);
+ json = json_encode_nr_expr(id, tv, options | JSON_NL);
if (tv == NULL || (json != NULL && *json == NUL))
{
/* If evaluation failed or the result can't be encoded
@@ -2175,7 +2175,7 @@ channel_exe_cmd(channel_T *channel, int part, typval_T *argv)
err_tv.v_type = VAR_STRING;
err_tv.vval.v_string = (char_u *)"ERROR";
tv = &err_tv;
- json = json_encode_nr_expr(id, tv, options);
+ json = json_encode_nr_expr(id, tv, options | JSON_NL);
}
if (json != NULL)
{
@@ -3500,7 +3500,7 @@ ch_expr_common(typval_T *argvars, typval_T *rettv, int eval)
id = ++channel->ch_last_msg_id;
text = json_encode_nr_expr(id, &argvars[1],
- ch_mode == MODE_JS ? JSON_JS : 0);
+ (ch_mode == MODE_JS ? JSON_JS : 0) | JSON_NL);
if (text == NULL)
return;