patch 8.2.4535: filename modifer ":8" removes the filename
Problem: Filename modifer ":8" removes the filename.
Solution: Use strncpy() instead of vim_strncpy(). (Christian Brabandt,
closes #9918, closes #8600)
diff --git a/src/filepath.c b/src/filepath.c
index 7a5dae4..f0da60f 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -186,7 +186,7 @@
// unless get_short_pathname() did its work in-place.
*fname = *bufp = save_fname;
if (short_fname != save_fname)
- vim_strncpy(save_fname, short_fname, len);
+ STRNCPY(save_fname, short_fname, len);
save_fname = NULL;
}
diff --git a/src/testdir/test_shortpathname.vim b/src/testdir/test_shortpathname.vim
index f5fa118..13fc079 100644
--- a/src/testdir/test_shortpathname.vim
+++ b/src/testdir/test_shortpathname.vim
@@ -88,4 +88,9 @@
call delete(dir, 'd')
endfunc
+func Test_ColonEight_notexists()
+ let non_exists='C:\windows\newfile.txt'
+ call assert_equal(non_exists, fnamemodify(non_exists, ':p:8'))
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 5e5a2a8..49810ea 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4535,
+/**/
4534,
/**/
4533,