summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-10-16 09:39:15 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-10-16 18:17:03 (GMT)
commitdb7a3d25d639ba816fb85af3ca08d689702ab294 (patch)
tree7fc2cb5622e12493dbc701940af2eafa38506bdc /refs.c
parent76887df01440018e1e757761fea81a4d3a676f25 (diff)
downloadgit-db7a3d25d639ba816fb85af3ca08d689702ab294.zip
git-db7a3d25d639ba816fb85af3ca08d689702ab294.tar.gz
git-db7a3d25d639ba816fb85af3ca08d689702ab294.tar.bz2
refs API: make resolve_gitlink_ref() not set errno
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>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/refs.c b/refs.c
index 80b85d2..dc6ed56 100644
--- 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;
}