summaryrefslogtreecommitdiff
path: root/cache-tree.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2021-01-07 16:32:10 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-01-16 07:05:13 (GMT)
commit0b72536a0b6128d2bfd05d633cd2228d7515b53d (patch)
treef55cd47b6c05eb9650b80bb08463eb563b1c3d7d /cache-tree.c
parent4bdde337f40c089fea8e076eb00132fc093ca79e (diff)
downloadgit-0b72536a0b6128d2bfd05d633cd2228d7515b53d.zip
git-0b72536a0b6128d2bfd05d633cd2228d7515b53d.tar.gz
git-0b72536a0b6128d2bfd05d633cd2228d7515b53d.tar.bz2
cache-tree: use ce_namelen() instead of strlen()
Use the name length field of cache entries instead of calculating its value anew. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache-tree.c')
-rw-r--r--cache-tree.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/cache-tree.c b/cache-tree.c
index 7da59b2..4274de7 100644
--- a/cache-tree.c
+++ b/cache-tree.c
@@ -185,10 +185,12 @@ static int verify_cache(struct cache_entry **cache,
* the cache is sorted. Also path can appear only once,
* which means conflicting one would immediately follow.
*/
- const char *this_name = cache[i]->name;
- const char *next_name = cache[i+1]->name;
- int this_len = strlen(this_name);
- if (this_len < strlen(next_name) &&
+ const struct cache_entry *this_ce = cache[i];
+ const struct cache_entry *next_ce = cache[i + 1];
+ const char *this_name = this_ce->name;
+ const char *next_name = next_ce->name;
+ int this_len = ce_namelen(this_ce);
+ if (this_len < ce_namelen(next_ce) &&
strncmp(this_name, next_name, this_len) == 0 &&
next_name[this_len] == '/') {
if (10 < ++funny) {