diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.027')
-rw-r--r-- | source/ap/vim/patches/7.3.027 | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.027 b/source/ap/vim/patches/7.3.027 new file mode 100644 index 00000000..3d2538d2 --- /dev/null +++ b/source/ap/vim/patches/7.3.027 @@ -0,0 +1,88 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.027 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.027 +Problem: Opening a file on a network share is very slow. +Solution: When fixing file name case append "\*" to directory, server and + network share names. (David Anderson, John Beckett) +Files: src/os_win32.c + + +*** ../vim-7.3.026/src/os_win32.c 2010-09-21 17:29:19.000000000 +0200 +--- src/os_win32.c 2010-10-13 20:31:32.000000000 +0200 +*************** +*** 2308,2319 **** +--- 2308,2321 ---- + int len) + { + char szTrueName[_MAX_PATH + 2]; ++ char szTrueNameTemp[_MAX_PATH + 2]; + char *ptrue, *ptruePrev; + char *porig, *porigPrev; + int flen; + WIN32_FIND_DATA fb; + HANDLE hFind; + int c; ++ int slen; + + flen = (int)STRLEN(name); + if (flen == 0 || flen > _MAX_PATH) +*************** +*** 2358,2369 **** + } + *ptrue = NUL; + + /* Skip "", "." and "..". */ + if (ptrue > ptruePrev + && (ptruePrev[0] != '.' + || (ptruePrev[1] != NUL + && (ptruePrev[1] != '.' || ptruePrev[2] != NUL))) +! && (hFind = FindFirstFile(szTrueName, &fb)) + != INVALID_HANDLE_VALUE) + { + c = *porig; +--- 2360,2378 ---- + } + *ptrue = NUL; + ++ /* To avoid a slow failure append "\*" when searching a directory, ++ * server or network share. */ ++ STRCPY(szTrueNameTemp, szTrueName); ++ slen = strlen(szTrueNameTemp); ++ if (*porig == psepc && slen + 2 < _MAX_PATH) ++ STRCPY(szTrueNameTemp + slen, "\\*"); ++ + /* Skip "", "." and "..". */ + if (ptrue > ptruePrev + && (ptruePrev[0] != '.' + || (ptruePrev[1] != NUL + && (ptruePrev[1] != '.' || ptruePrev[2] != NUL))) +! && (hFind = FindFirstFile(szTrueNameTemp, &fb)) + != INVALID_HANDLE_VALUE) + { + c = *porig; +*** ../vim-7.3.026/src/version.c 2010-10-13 18:06:42.000000000 +0200 +--- src/version.c 2010-10-13 20:37:00.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 27, + /**/ + +-- + A cow comes flying over the battlements, lowing aggressively. The cow + lands on GALAHAD'S PAGE, squashing him completely. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |