Make "index_name_exists()" return the cache_entry it found

This allows verify_absent() in unpack_trees() to use the hash chains
rather than looking it up using the binary search.

Perhaps more importantly, it's also going to be useful for the next phase,
where we actually start looking at the cache entry when we do
case-insensitive lookups and checking the result.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Linus Torvalds
2008-03-21 15:53:00 -07:00
committed by Junio C Hamano
parent 96872bc200
commit df292c791a
3 changed files with 8 additions and 8 deletions

View File

@ -54,7 +54,7 @@ void add_name_hash(struct index_state *istate, struct cache_entry *ce)
hash_index_entry(istate, ce);
}
int index_name_exists(struct index_state *istate, const char *name, int namelen)
struct cache_entry *index_name_exists(struct index_state *istate, const char *name, int namelen)
{
unsigned int hash = hash_name(name, namelen);
struct cache_entry *ce;
@ -65,9 +65,9 @@ int index_name_exists(struct index_state *istate, const char *name, int namelen)
while (ce) {
if (!(ce->ce_flags & CE_UNHASHED)) {
if (!cache_name_compare(name, namelen, ce->name, ce->ce_flags))
return 1;
return ce;
}
ce = ce->next;
}
return 0;
return NULL;
}