diff options
author | ZyX <kp-pav@yandex.ru> | 2017-01-04 19:01:04 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-01-04 19:02:39 +0300 |
commit | 358097ac5fd12bb9bd3beca8ef672f189f313beb (patch) | |
tree | 5a5feb9b479fda6ce48fb3a4d89d5fa995a22c44 /src | |
parent | 3c64b814d23e697dba873ef5c2854e305c48eec0 (diff) | |
download | rneovim-358097ac5fd12bb9bd3beca8ef672f189f313beb.tar.gz rneovim-358097ac5fd12bb9bd3beca8ef672f189f313beb.tar.bz2 rneovim-358097ac5fd12bb9bd3beca8ef672f189f313beb.zip |
eval/encode: Always check the return value of encode_vim_to_\*
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval/encode.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nvim/eval/encode.c b/src/nvim/eval/encode.c index 828bde3124..d11db0296a 100644 --- a/src/nvim/eval/encode.c +++ b/src/nvim/eval/encode.c @@ -366,7 +366,7 @@ int encode_read_from_list(ListReaderState *const state, char *const buf, #define TYPVAL_ENCODE_CONV_EMPTY_LIST(tv) \ ga_concat(gap, "[]") -#define TYPVAL_ENCODE_CONV_LIST_START(tv, dict) \ +#define TYPVAL_ENCODE_CONV_LIST_START(tv, len) \ ga_append(gap, '[') #define TYPVAL_ENCODE_CONV_EMPTY_DICT(tv) \ @@ -824,6 +824,7 @@ char *encode_tv2string(typval_T *tv, size_t *len) const int evs_ret = encode_vim_to_string(&ga, tv, "encode_tv2string() argument"); (void)evs_ret; + assert(evs_ret == OK); did_echo_string_emsg = false; if (len != NULL) { *len = (size_t) ga.ga_len; @@ -851,6 +852,7 @@ char *encode_tv2echo(typval_T *tv, size_t *len) } else { const int eve_ret = encode_vim_to_echo(&ga, tv, ":echo argument"); (void)eve_ret; + assert(eve_ret == OK); } if (len != NULL) { *len = (size_t) ga.ga_len; @@ -872,13 +874,15 @@ char *encode_tv2json(typval_T *tv, size_t *len) garray_T ga; ga_init(&ga, (int)sizeof(char), 80); const int evj_ret = encode_vim_to_json(&ga, tv, "encode_tv2json() argument"); - (void)evj_ret; + if (!evj_ret) { + ga_clear(&ga); + } did_echo_string_emsg = false; if (len != NULL) { - *len = (size_t) ga.ga_len; + *len = (size_t)ga.ga_len; } ga_append(&ga, '\0'); - return (char *) ga.ga_data; + return (char *)ga.ga_data; } #define TYPVAL_ENCODE_CONV_STRING(tv, buf, len) \ |