Re: [PATCH v4 2/4] path: optimize common dir checking
- From
David Turner <dturner@twopensource.com>
- Date
- Aug 31, 2015, 18:56 UTC
- Message-ID
- <1441047399.25570.20.camel@twopensource.com>
- In-Reply-To
- <55E2A1BF.5080204@web.de>
On Sun, 2015-08-30 at 08:25 +0200, Torsten Bögershausen wrote:
Show 21 quoted lines
> On 26.08.15 21:46, David Turner wrote:
> > Instead of a linear search over common_list to check whether
> > a path is common, use a trie. The trie search operates on
> > path prefixes, and handles excludes.
> >
> > Signed-off-by: David Turner <dturner@twopensource.com>
> > ---
> > path.c | 226 ++++++++++++++++++++++++++++++++++++++++++++++----
> > t/t0060-path-utils.sh | 1 +
> > 2 files changed, 213 insertions(+), 14 deletions(-)
> >
> > diff --git a/path.c b/path.c
>
>
> > + child->len = root->len - i - 1;
> > + if (child->len) {
> > + child->contents = strndup(root->contents + i + 1,
> > + child->len);
> > }
> Could we use xtrndup() instead of strndup() ?
> (Otherwise it won't compile under Mac OS here)Thanks. Junio, can we squash in the following? (Or let me know and I can resend the series with both this and your patch squashed)
--- path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/path.c b/path.c index 777af35..21306ab 100644 --- a/path.c +++ b/path.c @@ -191,7 +191,7 @@ static void *add_to_trie(struct trie *root, const char *key, void *value) child->len = root->len - i - 1; if (child->len) { - child->contents = strndup(root->contents + i + 1, + child->contents = xstrndup(root->contents + i + 1, child->len); } child->value = root->value;