summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0297
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0297')
-rw-r--r--data/vim/patches/8.1.0297104
1 files changed, 104 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0297 b/data/vim/patches/8.1.0297
new file mode 100644
index 000000000..c91b19222
--- /dev/null
+++ b/data/vim/patches/8.1.0297
@@ -0,0 +1,104 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0297
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0297 (after 8.1.0294)
+Problem: MS-Windows: tests fail, Vim crashes.
+Solution: Fix long file name handling.
+Files: src/os_win32.c
+
+
+*** ../vim-8.1.0296/src/os_win32.c 2018-08-18 20:20:23.335417254 +0200
+--- src/os_win32.c 2018-08-19 14:36:25.032599518 +0200
+***************
+*** 3109,3114 ****
+--- 3109,3115 ----
+ int len)
+ {
+ char_u abuf[_MAX_PATH + 1];
++ DWORD lfnlen;
+
+ /*
+ * Originally this was:
+***************
+*** 3124,3134 ****
+ if (GetCurrentDirectoryW(_MAX_PATH, wbuf) != 0)
+ {
+ WCHAR wcbuf[_MAX_PATH + 1];
+! char_u *p;
+
+ if (GetLongPathNameW(wbuf, wcbuf, _MAX_PATH) != 0)
+ p = utf16_to_enc(wcbuf, NULL);
+! else
+ p = utf16_to_enc(wbuf, NULL);
+
+ if (p != NULL)
+--- 3125,3143 ----
+ if (GetCurrentDirectoryW(_MAX_PATH, wbuf) != 0)
+ {
+ WCHAR wcbuf[_MAX_PATH + 1];
+! char_u *p = NULL;
+
+ if (GetLongPathNameW(wbuf, wcbuf, _MAX_PATH) != 0)
++ {
+ p = utf16_to_enc(wcbuf, NULL);
+! if (STRLEN(p) >= (size_t)len)
+! {
+! // long path name is too long, fall back to short one
+! vim_free(p);
+! p = NULL;
+! }
+! }
+! if (p == NULL)
+ p = utf16_to_enc(wbuf, NULL);
+
+ if (p != NULL)
+***************
+*** 3143,3153 ****
+ #endif
+ if (GetCurrentDirectory(len, (LPSTR)buf) == 0)
+ return FAIL;
+! if (GetLongPathNameA((LPSTR)buf, (LPSTR)abuf, _MAX_PATH) == 0)
+! // return the short path name
+ return OK;
+
+! vim_strncpy(abuf, buf, len - 1);
+ return OK;
+ }
+
+--- 3152,3164 ----
+ #endif
+ if (GetCurrentDirectory(len, (LPSTR)buf) == 0)
+ return FAIL;
+! lfnlen = GetLongPathNameA((LPCSTR)buf, (LPSTR)abuf, _MAX_PATH);
+! if (lfnlen == 0 || lfnlen >= (DWORD)len)
+! // Failed to get long path name or it's too long: fall back to the
+! // short path name.
+ return OK;
+
+! STRCPY(buf, abuf);
+ return OK;
+ }
+
+*** ../vim-8.1.0296/src/version.c 2018-08-18 21:23:00.787474060 +0200
+--- src/version.c 2018-08-19 14:33:49.277455703 +0200
+***************
+*** 796,797 ****
+--- 796,799 ----
+ { /* Add new patch number below this line */
++ /**/
++ 297,
+ /**/
+
+--
+The most powerful force in the universe is gossip.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///