tree-walk: drop unused base_offset from do_match()

The tree-walk.c:do_match() function takes base_offset but just like
tree_entry_interesting() we dealt with earlier, nobody passes a
value other than 0 in it.  Get rid of the parameter to avoid having
to worry about potential bugs lurking unexercised.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2023-07-07 15:21:16 -07:00
parent 0ad927e9e0
commit 30c8c55cbf

View File

@ -1016,17 +1016,17 @@ static int match_wildcard_base(const struct pathspec_item *item,
/* /*
* Is a tree entry interesting given the pathspec we have? * Is a tree entry interesting given the pathspec we have?
* *
* Pre-condition: either baselen == base_offset (i.e. empty path) * Pre-condition: either baselen == 0 (i.e. empty path)
* or base[baselen-1] == '/' (i.e. with trailing slash). * or base[baselen-1] == '/' (i.e. with trailing slash).
*/ */
static enum interesting do_match(struct index_state *istate, static enum interesting do_match(struct index_state *istate,
const struct name_entry *entry, const struct name_entry *entry,
struct strbuf *base, int base_offset, struct strbuf *base,
const struct pathspec *ps, const struct pathspec *ps,
int exclude) int exclude)
{ {
int i; int i;
int pathlen, baselen = base->len - base_offset; int pathlen, baselen = base->len;
enum interesting never_interesting = ps->has_wildcard ? enum interesting never_interesting = ps->has_wildcard ?
entry_not_interesting : all_entries_not_interesting; entry_not_interesting : all_entries_not_interesting;
@ -1044,7 +1044,7 @@ static enum interesting do_match(struct index_state *istate,
!(ps->magic & PATHSPEC_MAXDEPTH) || !(ps->magic & PATHSPEC_MAXDEPTH) ||
ps->max_depth == -1) ps->max_depth == -1)
return all_entries_interesting; return all_entries_interesting;
return within_depth(base->buf + base_offset, baselen, return within_depth(base->buf, baselen,
!!S_ISDIR(entry->mode), !!S_ISDIR(entry->mode),
ps->max_depth) ? ps->max_depth) ?
entry_interesting : entry_not_interesting; entry_interesting : entry_not_interesting;
@ -1055,7 +1055,7 @@ static enum interesting do_match(struct index_state *istate,
for (i = ps->nr - 1; i >= 0; i--) { for (i = ps->nr - 1; i >= 0; i--) {
const struct pathspec_item *item = ps->items+i; const struct pathspec_item *item = ps->items+i;
const char *match = item->match; const char *match = item->match;
const char *base_str = base->buf + base_offset; const char *base_str = base->buf;
int matchlen = item->len, matched = 0; int matchlen = item->len, matched = 0;
if ((!exclude && item->magic & PATHSPEC_EXCLUDE) || if ((!exclude && item->magic & PATHSPEC_EXCLUDE) ||
@ -1148,9 +1148,9 @@ match_wildcards:
strbuf_add(base, entry->path, pathlen); strbuf_add(base, entry->path, pathlen);
if (!git_fnmatch(item, match, base->buf + base_offset, if (!git_fnmatch(item, match, base->buf,
item->nowildcard_len)) { item->nowildcard_len)) {
strbuf_setlen(base, base_offset + baselen); strbuf_setlen(base, baselen);
goto interesting; goto interesting;
} }
@ -1162,13 +1162,13 @@ match_wildcards:
* be performed in the submodule itself. * be performed in the submodule itself.
*/ */
if (ps->recurse_submodules && S_ISGITLINK(entry->mode) && if (ps->recurse_submodules && S_ISGITLINK(entry->mode) &&
!ps_strncmp(item, match, base->buf + base_offset, !ps_strncmp(item, match, base->buf,
item->nowildcard_len)) { item->nowildcard_len)) {
strbuf_setlen(base, base_offset + baselen); strbuf_setlen(base, baselen);
goto interesting; goto interesting;
} }
strbuf_setlen(base, base_offset + baselen); strbuf_setlen(base, baselen);
/* /*
* Match all directories. We'll try to match files * Match all directories. We'll try to match files
@ -1204,9 +1204,9 @@ interesting:
return entry_interesting; return entry_interesting;
strbuf_add(base, entry->path, pathlen); strbuf_add(base, entry->path, pathlen);
ret = match_pathspec_attrs(istate, base->buf + base_offset, ret = match_pathspec_attrs(istate, base->buf,
base->len - base_offset, item); base->len, item);
strbuf_setlen(base, base_offset + baselen); strbuf_setlen(base, baselen);
if (!ret) if (!ret)
continue; continue;
} }
@ -1218,7 +1218,7 @@ interesting:
/* /*
* Is a tree entry interesting given the pathspec we have? * Is a tree entry interesting given the pathspec we have?
* *
* Pre-condition: either baselen == base_offset (i.e. empty path) * Pre-condition: either baselen == 0 (i.e. empty path)
* or base[baselen-1] == '/' (i.e. with trailing slash). * or base[baselen-1] == '/' (i.e. with trailing slash).
*/ */
enum interesting tree_entry_interesting(struct index_state *istate, enum interesting tree_entry_interesting(struct index_state *istate,
@ -1227,8 +1227,7 @@ enum interesting tree_entry_interesting(struct index_state *istate,
const struct pathspec *ps) const struct pathspec *ps)
{ {
enum interesting positive, negative; enum interesting positive, negative;
const int base_offset = 0; positive = do_match(istate, entry, base, ps, 0);
positive = do_match(istate, entry, base, base_offset, ps, 0);
/* /*
* case | entry | positive | negative | result * case | entry | positive | negative | result
@ -1265,7 +1264,7 @@ enum interesting tree_entry_interesting(struct index_state *istate,
positive <= entry_not_interesting) /* #1, #2, #11, #12 */ positive <= entry_not_interesting) /* #1, #2, #11, #12 */
return positive; return positive;
negative = do_match(istate, entry, base, base_offset, ps, 1); negative = do_match(istate, entry, base, ps, 1);
/* #8, #18 */ /* #8, #18 */
if (positive == all_entries_interesting && if (positive == all_entries_interesting &&