"brian m. carlson" <[email protected]> writes:
> -+ buf += the_hash_algo->rawsz;
> -+ size -= the_hash_algo->rawsz;
> ++ memcpy(it->oid.hash, (const unsigned char*)buf, rawsz);
> ++ buf += rawsz;
> ++ size -= rawsz;
> }
Using memcpy() to stuff the hash[] field of oid structure with a
bare byte array of rawsz bytes appears twice as a pattern in these
patches. I wonder if this is something we want to abstract behind
the API, e.g.
size_t oidstuff_(struct object_id *oid, const unsigned char *buf)
{
size_t rawsz = the_hash_algo->rawsz;
memcpy(oid->hash, buf, rawsz);
return rawsz;
}
It just felt a bit uneven to be using a bare-metal memcpy() when
oidcpy() abstraction releaves the callers from having to be aware of
the rawsz all the time.