Re: ERANGE strikes again on my Windows build; RFH
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Dec 30, 2019, 18:49 UTC
- Message-ID
- <20191230184948.GC57251@google.com>
- In-Reply-To
- <54522fee-0796-df46-a3cf-4331537ecf59@kdbg.org>
Johannes Sixt wrote:
> Am 30.12.19 um 19:06 schrieb Jonathan Nieder:
Show 8 quoted lines
>> when >> errno is meaningful for a function for a given return value, the usual >> convention is >> >> (1) it *always* sets errno for errors, not conditionally > > You seem to understand that errno isn't set somewhere where it should be > set.
On the contrary: this caller is using errno as an error *indicator* instead of a way of *distinguishing* between errors (or to put it another way, this caller is treating `errno == 0` as a meaningful condition). This means the calling code is buggy.
[...]
Show 7 quoted lines
>> Do you have more details about the case where read_object is expected >> to produce errno == 0? I'm wondering whether we forgot to set 'errno >> = ENOENT' explicitly somewhere. > > I don't think that forgetting to set ENOENT is the problem. > > It happens reproducibly in test 5 of t0410-partial-clone:
Thanks, will try it out.