aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/strings.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-09-04 02:25:24 +0300
committerZyX <kp-pav@yandex.ru>2017-03-29 10:08:05 +0300
commitc8e63a8db84e9d9f7bd855085a87d93631504fc7 (patch)
tree5c08bf960178f7a4edc7a5f9918dfd6e0424b098 /src/nvim/strings.c
parent50ebd1dff5c4e995c4f7e7980870e43d9defabc6 (diff)
downloadrneovim-c8e63a8db84e9d9f7bd855085a87d93631504fc7.tar.gz
rneovim-c8e63a8db84e9d9f7bd855085a87d93631504fc7.tar.bz2
rneovim-c8e63a8db84e9d9f7bd855085a87d93631504fc7.zip
eval: Move remaining get_tv_string* functions to eval/typval.c
Diffstat (limited to 'src/nvim/strings.c')
-rw-r--r--src/nvim/strings.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index e20979c307..5dcffe00e0 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -598,22 +598,21 @@ static varnumber_T tv_nr(typval_T *tvs, int *idxp)
/// free "*tofree".
///
/// @return String value or NULL in case of error.
-static char *tv_str(typval_T *tvs, int *idxp, char ** const tofree)
+static const char *tv_str(typval_T *tvs, int *idxp, char **const tofree)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT
{
int idx = *idxp - 1;
- char *s = NULL;
+ const char *s = NULL;
if (tvs[idx].v_type == VAR_UNKNOWN) {
EMSG(_(e_printf));
} else {
(*idxp)++;
if (tvs[idx].v_type == VAR_STRING || tvs[idx].v_type == VAR_NUMBER) {
- s = (char *)get_tv_string_chk(&tvs[idx]);
+ s = tv_get_string_chk(&tvs[idx]);
*tofree = NULL;
} else {
- s = encode_tv2echo(&tvs[idx], NULL);
- *tofree = s;
+ s = *tofree = encode_tv2echo(&tvs[idx], NULL);
}
}
return s;
@@ -953,7 +952,7 @@ int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap,
case 's':
case 'S':
str_arg = tvs ? tv_str(tvs, &arg_idx, &tofree)
- : va_arg(ap, char *);
+ : va_arg(ap, const char *);
if (!str_arg) {
str_arg = "[NULL]";
str_arg_l = 6;