aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 87a5ed80e7..639d406896 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -11628,18 +11628,12 @@ static void f_or(typval_T *argvars, typval_T *rettv)
*/
static void f_pathshorten(typval_T *argvars, typval_T *rettv)
{
- char_u *p;
-
rettv->v_type = VAR_STRING;
- p = get_tv_string_chk(&argvars[0]);
- if (p == NULL)
- rettv->vval.v_string = NULL;
- else {
- p = vim_strsave(p);
- rettv->vval.v_string = p;
- if (p != NULL)
- shorten_dir(p);
+ rettv->vval.v_string = get_tv_string_chk(&argvars[0]);
+ if (!rettv->vval.v_string) {
+ return;
}
+ rettv->vval.v_string = shorten_dir(vim_strsave(rettv->vval.v_string));
}
/*