aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2016-03-31 19:22:38 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2016-03-31 19:22:38 -0300
commitb8643f69c192c32160a9f2ce7936afbe885b01e7 (patch)
treea17f68bb04725e5198212047dc55d5ef1df94aec /src/nvim/eval.c
parent4b8f27338f1a4f393b1a6c6e219a073ca9bf39a7 (diff)
parent7558f42f7d9900d37a1915ce78f1102ee251d420 (diff)
downloadrneovim-b8643f69c192c32160a9f2ce7936afbe885b01e7.tar.gz
rneovim-b8643f69c192c32160a9f2ce7936afbe885b01e7.tar.bz2
rneovim-b8643f69c192c32160a9f2ce7936afbe885b01e7.zip
Merge PR #4492 'vim-patch:7.4.{1641,1643,1652,1654}'
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index f71620a7b4..3c67625d1c 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -21993,7 +21993,15 @@ repeat:
}
if (src[*usedlen] == ':' && src[*usedlen + 1] == 'S') {
+ // vim_strsave_shellescape() needs a NUL terminated string.
+ c = (*fnamep)[*fnamelen];
+ if (c != NUL) {
+ (*fnamep)[*fnamelen] = NUL;
+ }
p = vim_strsave_shellescape(*fnamep, false, false);
+ if (c != NUL) {
+ (*fnamep)[*fnamelen] = c;
+ }
xfree(*bufp);
*bufp = *fnamep = p;
*fnamelen = STRLEN(p);