diff options
author | Patrick Steinhardt <ps@pks.im> | 2023-10-31 09:16:33 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-11-01 12:09:00 +0900 |
commit | 84650989b7055a9016972b8430c882d7d8582e4f (patch) | |
tree | 1a055906068dcbb2a1ed87c9cca53ee675b76f50 | |
parent | 7907fb0c97740ce2cb9ce0db706dc66c77bb70a7 (diff) | |
download | git-84650989b7055a9016972b8430c882d7d8582e4f.tar.gz |
builtin/show-ref: stop using global variable to count matches
When passing patterns to git-show-ref(1) we're checking whether any
reference matches -- if none do, we indicate this condition via an
unsuccessful exit code.
We're using a global variable to count these matches, which is required
because the counter is getting incremented in a callback function. But
now that we have the `struct show_ref_data` in place, we can get rid of
the global variable and put the counter in there instead.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/show-ref.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/builtin/show-ref.c b/builtin/show-ref.c index 5aa6016376..d0de69e29d 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -18,7 +18,7 @@ static const char * const show_ref_usage[] = { NULL }; -static int deref_tags, show_head, tags_only, heads_only, found_match, verify, +static int deref_tags, show_head, tags_only, heads_only, verify, quiet, hash_only, abbrev; static void show_one(const char *refname, const struct object_id *oid) @@ -50,6 +50,7 @@ static void show_one(const char *refname, const struct object_id *oid) struct show_ref_data { const char **patterns; + int found_match; }; static int show_ref(const char *refname, const struct object_id *oid, @@ -78,7 +79,7 @@ static int show_ref(const char *refname, const struct object_id *oid, } match: - found_match++; + data->found_match++; show_one(refname, oid); @@ -191,7 +192,7 @@ static int cmd_show_ref__patterns(const char **patterns) } else { for_each_ref(show_ref, &show_ref_data); } - if (!found_match) + if (!show_ref_data.found_match) return 1; return 0; |