Merge branch 'mh/simplify-cache-tree-find'

* mh/simplify-cache-tree-find:
  cache_tree_find(): use path variable when passing over slashes
  cache_tree_find(): remove early return
  cache_tree_find(): remove redundant check
  cache_tree_find(): fix comment formatting
  cache_tree_find(): find the end of path component using strchrnul()
  cache_tree_find(): remove redundant checks
This commit is contained in:
Junio C Hamano 2014-03-18 13:51:02 -07:00
Родитель 6bd3424176 3491047e14
Коммит da2e0579ad
1 изменённых файлов: 7 добавлений и 10 удалений

Просмотреть файл

@ -550,22 +550,19 @@ static struct cache_tree *cache_tree_find(struct cache_tree *it, const char *pat
const char *slash;
struct cache_tree_sub *sub;
slash = strchr(path, '/');
if (!slash)
slash = path + strlen(path);
/* between path and slash is the name of the
* subtree to look for.
slash = strchrnul(path, '/');
/*
* Between path and slash is the name of the subtree
* to look for.
*/
sub = find_subtree(it, path, slash - path, 0);
if (!sub)
return NULL;
it = sub->cache_tree;
if (slash)
while (*slash && *slash == '/')
slash++;
if (!slash || !*slash)
return it; /* prefix ended with slashes */
path = slash;
while (*path == '/')
path++;
}
return it;
}