Re: errno oversight
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Dec 8, 2021, 12:47 UTC
- Message-ID
- <211208.86sfv3l0op.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <CAFQ2z_NHXKss4LVBAFVpE7LFXt2OeOz9P9wi-z8riwHXWDb28w@mail.gmail.com>
On Wed, Dec 08 2021, Han-Wen Nienhuys wrote:
> In refs.c in origin/next and origin/seen, we have the following fragment:
It's in "master".
Show 7 quoted lines
> if (refs_read_raw_ref(refs, refname, oid, &sb_refname,
> &read_flags, failure_errno)) {
> *flags |= read_flags;
> if (errno)
> *failure_errno = errno;
>
> overwriting failure_errno looks like an oversight?This is from my ef18119dec8 (refs API: add a version of refs_resolve_ref_unsafe() with "errno", 2021-10-16).
I don't see the bug here, overwriting *failure_errno is the point of that variable. We're keeping the right errno value right after a failure, and passing it up to our caller.