aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorerw7 <erw7.github@gmail.com>2020-03-25 15:50:55 +0900
committererw7 <erw7.github@gmail.com>2020-04-02 21:13:18 +0900
commitf61331e184d8db6d8dc965856eba1db321a2d8f3 (patch)
treeb0c1ecd85fadfcde9f2ed524a40c96b366179a05 /src/nvim/eval/funcs.c
parenta8f784192404864744c323e4394292467c3c0ca7 (diff)
downloadrneovim-f61331e184d8db6d8dc965856eba1db321a2d8f3.tar.gz
rneovim-f61331e184d8db6d8dc965856eba1db321a2d8f3.tar.bz2
rneovim-f61331e184d8db6d8dc965856eba1db321a2d8f3.zip
Change resolve() to resolve symbolic links on Windows
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 6d67279e64..b4a3e29156 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -6709,7 +6709,10 @@ static void f_resolve(typval_T *argvars, typval_T *rettv, FunPtr fptr)
rettv->v_type = VAR_STRING;
const char *fname = tv_get_string(&argvars[0]);
#ifdef WIN32
- char *const v = os_resolve_shortcut(fname);
+ char *v = os_resolve_shortcut(fname);
+ if (v == NULL) {
+ v = os_realpath(fname, v);
+ }
rettv->vval.v_string = (char_u *)(v == NULL ? xstrdup(fname) : v);
#else
# ifdef HAVE_READLINK