Re: [PATCH v4 05/16] ref-filter.c: parameterize match functions over patterns
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jul 3, 2023, 17:18 UTC
- Message-ID
- <ZKMCzow9EH2BJIfp@nand.local>
- In-Reply-To
- <20230703052724.GE3502534@coredump.intra.peff.net>
On Mon, Jul 03, 2023 at 01:27:24AM -0400, Jeff King wrote:
Show 19 quoted lines
> On Tue, Jun 20, 2023 at 10:21:21AM -0400, Taylor Blau wrote: > > > Once we start passing either in, `match_pattern()` will have little to > > do with a particular `struct ref_filter *` instance. To clarify this, > > drop it from the argument list, and replace it with the only bit of the > > `ref_filter` that we care about (`filter->ignore_case`). > > Makes sense, but... > > > @@ -2134,9 +2134,10 @@ static int match_pattern(const struct ref_filter *filter, const char *refname) > > * matches a pattern "refs/heads/" but not "refs/heads/m") or a > > * wildcard (e.g. the same ref matches "refs/heads/m*", too). > > */ > > -static int match_name_as_path(const struct ref_filter *filter, const char *refname) > > +static int match_name_as_path(const struct ref_filter *filter, > > + const char **pattern, > > + const char *refname) > > ...wouldn't we then want to do the same for match_name_as_path()?
Yes, definitely :-). I'm not sure how I missed this, since the patch message even says that `match_name_as_path()` gets the same treatment as the other function.
But in any case, I obviously agree (and the diff below makes sense to me). Applied.
Show 5 quoted lines
> Also, I noticed that you declared it as "const int ignore_case" in > match_pattern(). That's not wrong, but we usually do not bother (it is > passed by value, so const-ness is irrelevant to the caller, and the > compiler can see inside the function that the value is not changed and > optimize appropriately).
Indeed :-).
Thanks, Taylor