]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs API: ignore errno in worktree.c's find_shared_symref()
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Sat, 16 Oct 2021 09:39:19 +0000 (11:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 16 Oct 2021 18:17:03 +0000 (11:17 -0700)
There are only handful of callers of find_shared_symref(), none of
whom care about errno, so let's migrate to the non-errno-propagating
version of refs_resolve_ref_unsafe() and explicitly ignore errno here.

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

index fa988ee978ffdafb6703668de666b32113192fbe..7d7cf058154066f81ccf9f5ee60d958aad7d37f4 100644 (file)
@@ -420,6 +420,7 @@ const struct worktree *find_shared_symref(const char *symref,
                const char *symref_target;
                struct ref_store *refs;
                int flags;
+               int ignore_errno;
 
                if (wt->is_bare)
                        continue;
@@ -436,8 +437,9 @@ const struct worktree *find_shared_symref(const char *symref,
                }
 
                refs = get_worktree_ref_store(wt);
-               symref_target = refs_resolve_ref_unsafe(refs, symref, 0,
-                                                       NULL, &flags);
+               symref_target = refs_werrres_ref_unsafe(refs, symref, 0,
+                                                       NULL, &flags,
+                                                       &ignore_errno);
                if ((flags & REF_ISSYMREF) &&
                    symref_target && !strcmp(symref_target, target)) {
                        existing = wt;