From: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> A grep for EINVAL */*c reveals that no code inspects EINVAL after reading references. The files ref backend does use EINVAL so parse_loose_ref_contents() can communicate to lock_raw_ref() about garbage following the hex SHA1, or a short read in files_read_raw_ref(), but the files backend does not call into refs_read_raw_ref(), so its EINVAL sideband error is unused. As the errno sideband is unintuitive and error-prone, remove EINVAL value, as a step towards getting rid of the errno sideband altogether. Spotted by Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>. Signed-off-by: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> --- refs/refs-internal.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/refs/refs-internal.h b/refs/refs-internal.h index 467f4b3c936d..29728a339fed 100644 --- a/refs/refs-internal.h +++ b/refs/refs-internal.h @@ -617,11 +617,10 @@ typedef int reflog_expire_fn(struct ref_store *ref_store, * properly-formatted or even safe reference name. NEITHER INPUT NOR * OUTPUT REFERENCE NAMES ARE VALIDATED WITHIN THIS FUNCTION. * - * Return 0 on success. If the ref doesn't exist, set errno to ENOENT - * and return -1. If the ref exists but is neither a symbolic ref nor - * an object ID, it is broken; set REF_ISBROKEN in type, set errno to - * EINVAL, and return -1. If there is another error reading the ref, - * set errno appropriately and return -1. + * Return 0 on success. If the ref doesn't exist, set errno to ENOENT and return + * -1. If the ref exists but is neither a symbolic ref nor an object ID, it is + * broken; set REF_ISBROKEN in type, and return -1. If there is another error + * reading the ref, set errno appropriately and return -1. * * Backend-specific flags might be set in type as well, regardless of * outcome. -- gitgitgadget