aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/decode.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-03-07 09:11:09 +0300
committerZyX <kp-pav@yandex.ru>2016-04-18 02:48:20 +0300
commit9a56fcb2e8e97dec1e4ebce1d1287e7ab8a6ee79 (patch)
treeef01818b635e390315b2e2d6a9ef3bdce0c28b41 /src/nvim/eval/decode.c
parent9c543f2e246469adec1daddf156f4bcabe30931a (diff)
downloadrneovim-9a56fcb2e8e97dec1e4ebce1d1287e7ab8a6ee79.tar.gz
rneovim-9a56fcb2e8e97dec1e4ebce1d1287e7ab8a6ee79.tar.bz2
rneovim-9a56fcb2e8e97dec1e4ebce1d1287e7ab8a6ee79.zip
eval/decode: Rewrite json_decode_string end as suggested by oni-link
Diffstat (limited to 'src/nvim/eval/decode.c')
-rw-r--r--src/nvim/eval/decode.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c
index 75c88e308b..1e45336ed9 100644
--- a/src/nvim/eval/decode.c
+++ b/src/nvim/eval/decode.c
@@ -740,21 +740,17 @@ json_decode_string_after_cycle:
}
}
}
- if (kv_size(stack) > 1 || kv_size(container_stack)) {
- emsgf(_("E474: Unexpected end of input: %.*s"), (int) buf_len, buf);
- goto json_decode_string_fail;
+ if (kv_size(stack) == 1 && kv_size(container_stack) == 0) {
+ *rettv = kv_pop(stack).val;
+ goto json_decode_string_ret;
}
- goto json_decode_string_ret;
+ emsgf(_("E474: Unexpected end of input: %.*s"), (int) buf_len, buf);
json_decode_string_fail:
ret = FAIL;
while (kv_size(stack)) {
clear_tv(&(kv_pop(stack).val));
}
json_decode_string_ret:
- if (ret != FAIL) {
- assert(kv_size(stack) == 1);
- *rettv = kv_pop(stack).val;
- }
kv_destroy(stack);
kv_destroy(container_stack);
return ret;