builtin/fetch-pack: remove constants with parse_oid_hex
Instead of using GIT_SHA1_HEXSZ, use parse_oid_hex to compute a pointer and use that in comparisons. This is both simpler to read and works independent of the hash length. Update references to SHA-1 in the same function to refer to object IDs instead. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
58ce21b819
commit
7b5e614e2a
@ -16,13 +16,14 @@ static void add_sought_entry(struct ref ***sought, int *nr, int *alloc,
|
||||
{
|
||||
struct ref *ref;
|
||||
struct object_id oid;
|
||||
const char *p;
|
||||
|
||||
if (!get_oid_hex(name, &oid)) {
|
||||
if (name[GIT_SHA1_HEXSZ] == ' ') {
|
||||
/* <sha1> <ref>, find refname */
|
||||
name += GIT_SHA1_HEXSZ + 1;
|
||||
} else if (name[GIT_SHA1_HEXSZ] == '\0') {
|
||||
; /* <sha1>, leave sha1 as name */
|
||||
if (!parse_oid_hex(name, &oid, &p)) {
|
||||
if (*p == ' ') {
|
||||
/* <oid> <ref>, find refname */
|
||||
name = p + 1;
|
||||
} else if (*p == '\0') {
|
||||
; /* <oid>, leave oid as name */
|
||||
} else {
|
||||
/* <ref>, clear cruft from oid */
|
||||
oidclr(&oid);
|
||||
|
Loading…
Reference in New Issue
Block a user