aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/typval_encode.c.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-01-03 17:28:57 +0300
committerZyX <kp-pav@yandex.ru>2017-01-03 17:28:57 +0300
commitefc624c2fe029a4ab494672c43366e8c57c19108 (patch)
treed3e79b9621a7918efffabebc597c14016cbe0102 /src/nvim/eval/typval_encode.c.h
parentf21725946c575884e04e79942850e7d0bc040ef9 (diff)
downloadrneovim-efc624c2fe029a4ab494672c43366e8c57c19108.tar.gz
rneovim-efc624c2fe029a4ab494672c43366e8c57c19108.tar.bz2
rneovim-efc624c2fe029a4ab494672c43366e8c57c19108.zip
eval: Fix errorneous early exit when converting lists and dictionaries
Diffstat (limited to 'src/nvim/eval/typval_encode.c.h')
-rw-r--r--src/nvim/eval/typval_encode.c.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/eval/typval_encode.c.h b/src/nvim/eval/typval_encode.c.h
index 69f805498a..5795d339f0 100644
--- a/src/nvim/eval/typval_encode.c.h
+++ b/src/nvim/eval/typval_encode.c.h
@@ -565,7 +565,10 @@ _convert_one_value_regular_dict:
return FAIL;
}
}
+typval_encode_stop_converting_one_item:
return OK;
+ // Prevent “unused label” warnings.
+ goto typval_encode_stop_converting_one_item;
}
TYPVAL_ENCODE_SCOPE int _TYPVAL_ENCODE_ENCODE(
@@ -595,6 +598,9 @@ TYPVAL_ENCODE_SCOPE int _TYPVAL_ENCODE_ENCODE(
== FAIL) {
goto encode_vim_to__error_ret;
}
+/// Label common for this and convert_one_value functions, used for escaping
+/// from macros like TYPVAL_ENCODE_CONV_DICT_START.
+typval_encode_stop_converting_one_item:
while (_mp_size(mpstack)) {
MPConvStackVal *cur_mpsv = &_mp_last(mpstack);
typval_T *tv = NULL;
@@ -754,5 +760,7 @@ TYPVAL_ENCODE_SCOPE int _TYPVAL_ENCODE_ENCODE(
encode_vim_to__error_ret:
_mp_destroy(mpstack);
return FAIL;
+ // Prevent “unused label” warnings.
+ goto typval_encode_stop_converting_one_item;
}
#endif // NVIM_EVAL_TYPVAL_ENCODE_C_H