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,