mirror of
https://github.com/git/git.git
synced 2024-11-23 09:56:28 +08:00
convert "hashcmp() == 0" to hasheq()
This is the partner patch to the previous one, but covering the "hash" variants instead of "oid". Note that our coccinelle rule is slightly more complex to avoid triggering the call in hasheq(). I didn't bother to add a new rule to convert: - hasheq(E1->hash, E2->hash) + oideq(E1, E2) Since these are new functions, there won't be any such existing callers. And since most of the code is already using oideq, we're not likely to introduce new ones. We might still see "!hashcmp(E1->hash, E2->hash)" from topics in flight. But because our new rule comes after the existing ones, that should first get converted to "!oidcmp(E1, E2)" and then to "oideq(E1, E2)". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4a7e27e957
commit
e3ff0683e2
@ -238,7 +238,7 @@ static int will_fetch(struct ref **head, const unsigned char *sha1)
|
||||
{
|
||||
struct ref *rm = *head;
|
||||
while (rm) {
|
||||
if (!hashcmp(rm->old_oid.hash, sha1))
|
||||
if (hasheq(rm->old_oid.hash, sha1))
|
||||
return 1;
|
||||
rm = rm->next;
|
||||
}
|
||||
|
8
cache.h
8
cache.h
@ -1053,12 +1053,12 @@ static inline int oideq(const struct object_id *oid1, const struct object_id *oi
|
||||
|
||||
static inline int is_null_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, null_sha1);
|
||||
return hasheq(sha1, null_sha1);
|
||||
}
|
||||
|
||||
static inline int is_null_oid(const struct object_id *oid)
|
||||
{
|
||||
return !hashcmp(oid->hash, null_sha1);
|
||||
return hasheq(oid->hash, null_sha1);
|
||||
}
|
||||
|
||||
static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src)
|
||||
@ -1095,7 +1095,7 @@ static inline void oidread(struct object_id *oid, const unsigned char *hash)
|
||||
|
||||
static inline int is_empty_blob_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, the_hash_algo->empty_blob->hash);
|
||||
return hasheq(sha1, the_hash_algo->empty_blob->hash);
|
||||
}
|
||||
|
||||
static inline int is_empty_blob_oid(const struct object_id *oid)
|
||||
@ -1105,7 +1105,7 @@ static inline int is_empty_blob_oid(const struct object_id *oid)
|
||||
|
||||
static inline int is_empty_tree_sha1(const unsigned char *sha1)
|
||||
{
|
||||
return !hashcmp(sha1, the_hash_algo->empty_tree->hash);
|
||||
return hasheq(sha1, the_hash_algo->empty_tree->hash);
|
||||
}
|
||||
|
||||
static inline int is_empty_tree_oid(const struct object_id *oid)
|
||||
|
@ -114,3 +114,12 @@ expression E1, E2;
|
||||
@@
|
||||
- oidcmp(E1, E2) == 0
|
||||
+ oideq(E1, E2)
|
||||
|
||||
@@
|
||||
identifier f != hasheq;
|
||||
expression E1, E2;
|
||||
@@
|
||||
f(...) {<...
|
||||
- hashcmp(E1, E2) == 0
|
||||
+ hasheq(E1, E2)
|
||||
...>}
|
||||
|
@ -483,7 +483,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
|
||||
|
||||
list_for_each(pos, head) {
|
||||
obj_req = list_entry(pos, struct object_request, node);
|
||||
if (!hashcmp(obj_req->oid.hash, sha1))
|
||||
if (hasheq(obj_req->oid.hash, sha1))
|
||||
break;
|
||||
}
|
||||
if (obj_req == NULL)
|
||||
|
2
notes.c
2
notes.c
@ -147,7 +147,7 @@ static struct leaf_node *note_tree_find(struct notes_tree *t,
|
||||
void **p = note_tree_search(t, &tree, &n, key_sha1);
|
||||
if (GET_PTR_TYPE(*p) == PTR_TYPE_NOTE) {
|
||||
struct leaf_node *l = (struct leaf_node *) CLR_PTR_TYPE(*p);
|
||||
if (!hashcmp(key_sha1, l->key_oid.hash))
|
||||
if (hasheq(key_sha1, l->key_oid.hash))
|
||||
return l;
|
||||
}
|
||||
return NULL;
|
||||
|
2
object.c
2
object.c
@ -95,7 +95,7 @@ struct object *lookup_object(struct repository *r, const unsigned char *sha1)
|
||||
|
||||
first = i = hash_obj(sha1, r->parsed_objects->obj_hash_size);
|
||||
while ((obj = r->parsed_objects->obj_hash[i]) != NULL) {
|
||||
if (!hashcmp(sha1, obj->oid.hash))
|
||||
if (hasheq(sha1, obj->oid.hash))
|
||||
break;
|
||||
i++;
|
||||
if (i == r->parsed_objects->obj_hash_size)
|
||||
|
@ -16,7 +16,7 @@ static uint32_t locate_object_entry_hash(struct packing_data *pdata,
|
||||
while (pdata->index[i] > 0) {
|
||||
uint32_t pos = pdata->index[i] - 1;
|
||||
|
||||
if (!hashcmp(sha1, pdata->objects[pos].idx.oid.hash)) {
|
||||
if (hasheq(sha1, pdata->objects[pos].idx.oid.hash)) {
|
||||
*found = 1;
|
||||
return i;
|
||||
}
|
||||
|
10
packfile.c
10
packfile.c
@ -1015,7 +1015,7 @@ void mark_bad_packed_object(struct packed_git *p, const unsigned char *sha1)
|
||||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
|
||||
if (hasheq(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i))
|
||||
return;
|
||||
p->bad_object_sha1 = xrealloc(p->bad_object_sha1,
|
||||
st_mult(GIT_MAX_RAWSZ,
|
||||
@ -1031,8 +1031,8 @@ const struct packed_git *has_packed_and_bad(const unsigned char *sha1)
|
||||
|
||||
for (p = the_repository->objects->packed_git; p; p = p->next)
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(sha1,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
if (hasheq(sha1,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
return p;
|
||||
return NULL;
|
||||
}
|
||||
@ -1830,8 +1830,8 @@ static int fill_pack_entry(const struct object_id *oid,
|
||||
if (p->num_bad_objects) {
|
||||
unsigned i;
|
||||
for (i = 0; i < p->num_bad_objects; i++)
|
||||
if (!hashcmp(oid->hash,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
if (hasheq(oid->hash,
|
||||
p->bad_object_sha1 + the_hash_algo->rawsz * i))
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user