Merge branch 'rs/fill-directory-optim'
Code clean-up.
* rs/fill-directory-optim:
dir: avoid allocation in fill_directory()
diff --git a/dir.c b/dir.c
index 65c3e68..4541f9e 100644
--- a/dir.c
+++ b/dir.c
@@ -174,20 +174,19 @@
int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec)
{
- char *prefix;
+ const char *prefix;
size_t prefix_len;
/*
* Calculate common prefix for the pathspec, and
* use that to optimize the directory walk
*/
- prefix = common_prefix(pathspec);
- prefix_len = prefix ? strlen(prefix) : 0;
+ prefix_len = common_prefix_len(pathspec);
+ prefix = prefix_len ? pathspec->items[0].match : "";
/* Read the directory and prune it */
read_directory(dir, prefix, prefix_len, pathspec);
- free(prefix);
return prefix_len;
}