Commit 168cc6d0 by Carlos Martín Nieto Committed by Edward Thomson

repo: remove an inappropriate use of PASSTHROUGH

This error code is for callbacks where we should act as though the callback was
not set. This is not something that makes sense for a `_foreach` and checking
for that error message to bubble up mostly is happenstance precisely because
this is not an error code we expect in the callback.

As part of removing this, let's also remove a use of foreach as we can open-code
this check.
parent 14985171
...@@ -2335,21 +2335,19 @@ int git_repository_head_unborn(git_repository *repo) ...@@ -2335,21 +2335,19 @@ int git_repository_head_unborn(git_repository *repo)
return 0; return 0;
} }
static int at_least_one_cb(const char *refname, void *payload)
{
GIT_UNUSED(refname);
GIT_UNUSED(payload);
return GIT_PASSTHROUGH;
}
static int repo_contains_no_reference(git_repository *repo) static int repo_contains_no_reference(git_repository *repo)
{ {
int error = git_reference_foreach_name(repo, &at_least_one_cb, NULL); git_reference_iterator *iter;
const char *refname;
int error;
if (error == GIT_PASSTHROUGH) if ((error = git_reference_iterator_new(&iter, repo)) < 0)
return 0; return error;
if (!error) error = git_reference_next_name(&refname, iter);
git_reference_iterator_free(iter);
if (error == GIT_ITEROVER)
return 1; return 1;
return error; return error;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment