Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-09-27 09:01:07 +0300
committerJunio C Hamano <gitster@pobox.com>2017-09-27 09:45:24 +0300
commit90dca6710e6e5aad5d78d0cd006c3adadb65524d (patch)
tree60d3225445c7321ca07f4a154db46e4e02fda125 /t/t6036-recursive-corner-cases.sh
parent61d36330b422237b6be9581cdbade07782ab61a8 (diff)
avoid looking at errno for short read_in_full() returns
When a caller tries to read a particular set of bytes via read_in_full(), there are three possible outcomes: 1. An error, in which case -1 is returned and errno is set. 2. A short read, in which fewer bytes are returned and errno is unspecified (we never saw a read error, so we may have some random value from whatever syscall failed last). 3. The full read completed successfully. Many callers handle cases 1 and 2 together by just checking the result against the requested size. If their combined error path looks at errno (e.g., by calling die_errno), they may report a nonsense value. Let's fix these sites by having them distinguish between the two error cases. That avoids the random errno confusion, and lets us give more detailed error messages. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6036-recursive-corner-cases.sh')
0 files changed, 0 insertions, 0 deletions