]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs API: make resolve_gitlink_ref() not set errno
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Sat, 16 Oct 2021 09:39:15 +0000 (11:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 16 Oct 2021 18:17:03 +0000 (11:17 -0700)
I have carefully read the upstream callers of resolve_gitlink_ref()
and determined that they don't care about errno.

So let's move away from the errno-setting refs_resolve_ref_unsafe()
wrapper to refs_werrres_ref_unsafe(), and explicitly ignore the errno
it sets for us.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 80b85d244d2ebea7b414b57405cdee65401669d8..dc6ed561492af64fe0b3f401cf0abed40ae65a8d 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1791,14 +1791,15 @@ int resolve_gitlink_ref(const char *submodule, const char *refname,
 {
        struct ref_store *refs;
        int flags;
+       int ignore_errno;
 
        refs = get_submodule_ref_store(submodule);
 
        if (!refs)
                return -1;
 
-       if (!refs_resolve_ref_unsafe(refs, refname, 0, oid, &flags) ||
-           is_null_oid(oid))
+       if (!refs_werrres_ref_unsafe(refs, refname, 0, oid, &flags,
+                                    &ignore_errno) || is_null_oid(oid))
                return -1;
        return 0;
 }