]> git.pld-linux.org Git - packages/vim.git/blob - 7.3.027
- new
[packages/vim.git] / 7.3.027
1 To: vim-dev@vim.org
2 Subject: Patch 7.3.027
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 7.3.027
11 Problem:    Opening a file on a network share is very slow.
12 Solution:   When fixing file name case append "\*" to directory, server and
13             network share names. (David Anderson, John Beckett)
14 Files:      src/os_win32.c
15
16
17 *** ../vim-7.3.026/src/os_win32.c       2010-09-21 17:29:19.000000000 +0200
18 --- src/os_win32.c      2010-10-13 20:31:32.000000000 +0200
19 ***************
20 *** 2308,2319 ****
21 --- 2308,2321 ----
22       int               len)
23   {
24       char              szTrueName[_MAX_PATH + 2];
25 +     char              szTrueNameTemp[_MAX_PATH + 2];
26       char              *ptrue, *ptruePrev;
27       char              *porig, *porigPrev;
28       int                       flen;
29       WIN32_FIND_DATA   fb;
30       HANDLE            hFind;
31       int                       c;
32 +     int                       slen;
33   
34       flen = (int)STRLEN(name);
35       if (flen == 0 || flen > _MAX_PATH)
36 ***************
37 *** 2358,2369 ****
38         }
39         *ptrue = NUL;
40   
41         /* Skip "", "." and "..". */
42         if (ptrue > ptruePrev
43                 && (ptruePrev[0] != '.'
44                     || (ptruePrev[1] != NUL
45                         && (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
46 !               && (hFind = FindFirstFile(szTrueName, &fb))
47                                                       != INVALID_HANDLE_VALUE)
48         {
49             c = *porig;
50 --- 2360,2378 ----
51         }
52         *ptrue = NUL;
53   
54 +       /* To avoid a slow failure append "\*" when searching a directory,
55 +        * server or network share. */
56 +       STRCPY(szTrueNameTemp, szTrueName);
57 +       slen = strlen(szTrueNameTemp);
58 +       if (*porig == psepc && slen + 2 < _MAX_PATH)
59 +           STRCPY(szTrueNameTemp + slen, "\\*");
60
61         /* Skip "", "." and "..". */
62         if (ptrue > ptruePrev
63                 && (ptruePrev[0] != '.'
64                     || (ptruePrev[1] != NUL
65                         && (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
66 !               && (hFind = FindFirstFile(szTrueNameTemp, &fb))
67                                                       != INVALID_HANDLE_VALUE)
68         {
69             c = *porig;
70 *** ../vim-7.3.026/src/version.c        2010-10-13 18:06:42.000000000 +0200
71 --- src/version.c       2010-10-13 20:37:00.000000000 +0200
72 ***************
73 *** 716,717 ****
74 --- 716,719 ----
75   {   /* Add new patch number below this line */
76 + /**/
77 +     27,
78   /**/
79
80 -- 
81    A cow comes flying over the battlements,  lowing aggressively.  The cow
82    lands on GALAHAD'S PAGE, squashing him completely.
83                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
84
85  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
86 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
87 \\\        download, build and distribute -- http://www.A-A-P.org        ///
88  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.034584 seconds and 3 git commands to generate.