From 86b68359978c933419279e599d0a8cf536095d77 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 27 Dec 2004 21:59:20 +0000 Subject: updated for version 7.0025 --- src/misc2.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/misc2.c') diff --git a/src/misc2.c b/src/misc2.c index 7a8502603..30e1a1f01 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -1525,7 +1525,7 @@ ga_init(gap) garray_T *gap; { gap->ga_data = NULL; - gap->ga_room = 0; + gap->ga_maxlen = 0; gap->ga_len = 0; } @@ -1552,7 +1552,7 @@ ga_grow(gap, n) size_t len; char_u *pp; - if (gap->ga_room < n) + if (gap->ga_maxlen - gap->ga_len < n) { if (n < gap->ga_growsize) n = gap->ga_growsize; @@ -1560,7 +1560,7 @@ ga_grow(gap, n) pp = alloc_clear((unsigned)len); if (pp == NULL) return FAIL; - gap->ga_room = n; + gap->ga_maxlen = gap->ga_len + n; if (gap->ga_data != NULL) { mch_memmove(pp, gap->ga_data, @@ -1587,7 +1587,6 @@ ga_concat(gap, s) { mch_memmove((char *)gap->ga_data + gap->ga_len, s, (size_t)len); gap->ga_len += len; - gap->ga_room -= len; } } @@ -1603,7 +1602,6 @@ ga_append(gap, c) { *((char *)gap->ga_data + gap->ga_len) = c; ++gap->ga_len; - --gap->ga_room; } } @@ -5224,7 +5222,7 @@ pathcmp(p, q, maxlen) int maxlen; { int i; - const char *s; + const char *s = NULL; for (i = 0; maxlen < 0 || i < maxlen; ++i) { @@ -5264,18 +5262,19 @@ pathcmp(p, q, maxlen) return ((char_u *)p)[i] - ((char_u *)q)[i]; /* no match */ } } + if (s == NULL) /* "i" ran into "maxlen" */ + return 0; /* ignore a trailing slash, but not "//" or ":/" */ - if (i >= maxlen - || (s[i + 1] == NUL - && i > 0 - && !after_pathsep((char_u *)s, (char_u *)s + i) + if (s[i + 1] == NUL + && i > 0 + && !after_pathsep((char_u *)s, (char_u *)s + i) #ifdef BACKSLASH_IN_FILENAME - && (s[i] == '/' || s[i] == '\\') + && (s[i] == '/' || s[i] == '\\') #else - && s[i] == '/' + && s[i] == '/' #endif - )) + ) return 0; /* match with trailing slash */ if (s == q) return -1; /* no match */ -- cgit v1.2.1