dir: convert fill_directory to use the pathspec struct interface

Convert 'fill_directory()' to use the pathspec struct interface from
using the '_raw' entry in the pathspec struct.

Signed-off-by: Brandon Williams <bmwill@google.com>
Reviewed-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Brandon Williams 2017-01-04 10:03:58 -08:00 коммит произвёл Junio C Hamano
Родитель e1b8c7bdc0
Коммит 966de3028b
1 изменённых файлов: 8 добавлений и 4 удалений

12
dir.c
Просмотреть файл

@ -174,17 +174,21 @@ char *common_prefix(const struct pathspec *pathspec)
int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec)
{
size_t len;
char *prefix;
size_t prefix_len;
/*
* Calculate common prefix for the pathspec, and
* use that to optimize the directory walk
*/
len = common_prefix_len(pathspec);
prefix = common_prefix(pathspec);
prefix_len = prefix ? strlen(prefix) : 0;
/* Read the directory and prune it */
read_directory(dir, pathspec->nr ? pathspec->_raw[0] : "", len, pathspec);
return len;
read_directory(dir, prefix, prefix_len, pathspec);
free(prefix);
return prefix_len;
}
int within_depth(const char *name, int namelen,