Re: [PATCH 23/31] remote-curl: make hash size independent
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Feb 12, 2019, 11:11 UTC
- Message-ID
- <87wom5jm7j.fsf@evledraar.gmail.com>
- In-Reply-To
- <20190212012256.1005924-24-sandals@crustytoothpaste.net>
On Tue, Feb 12 2019, brian m. carlson wrote:
Show 22 quoted lines
> Change one hard-coded use of the constant 40 to a reference to
> the_hash_algo. In addition, switch a use of get_oid_hex to
> parse_oid_hex to avoid the need to use a constant.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
> remote-curl.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/remote-curl.c b/remote-curl.c
> index bb7421023b..8395b71bbb 100644
> --- a/remote-curl.c
> +++ b/remote-curl.c
> @@ -249,7 +249,7 @@ static struct ref *parse_info_refs(struct discovery *heads)
> if (data[i] == '\t')
> mid = &data[i];
> if (data[i] == '\n') {
> - if (mid - start != 40)
> + if (mid - start != the_hash_algo->hexsz)
> die("%sinfo/refs not valid: is this a git repository?",
> url.buf);
> data[i] = 0;Similar to my comment on 28/31 I may be missing something, but this is the part where we're parsing the ref advertisement from a remote repository, which may e.g. be SHA-1, and our local "the hash algo" may be SHA-256, no?
So isn't this a point where we need to accept both, and parse it into some structure where we mark it as either/or SHA-1 or SHA-256, and late or consult SHA-1<->SHA-256 lookup tables etc.?