Nguyán ThÃi Ngác Duy <pclouds@xxxxxxxxx> writes: > Subject: Re: [PATCH 3/6] pathspec: cache string length when initialize pathspec s/initialize/initializing/; > This field will be used when tree_entry_interesting() is converted to > use struct pathspec. Currently it uses pathlens[] in struct > diff_options to avoid calculating string over and over again. > > Signed-off-by: Nguyán ThÃi Ngác Duy <pclouds@xxxxxxxxx> > --- > cache.h | 3 +++ > dir.c | 11 ++++++++++- > 2 files changed, 13 insertions(+), 1 deletions(-) > > diff --git a/cache.h b/cache.h > index 6227ddb..045c9fc 100644 > --- a/cache.h > +++ b/cache.h > @@ -495,6 +495,9 @@ extern int ie_modified(const struct index_state *, struct cache_entry *, struct > struct pathspec { > const char **raw; > int nr; > + struct pathspec_item { > + int len; > + } *items; Hmm... I would have expected to see struct pathspec_item { const char *pattern; int len; }; struct pathspec { struct pathspec_item *items; int nr; }; as you would be allocating a structure anyway, but persumably many places take their input as a NULL terminated "char **" array, and keeping such an array around as the "raw" field may be easier in refactoring. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html