employ new explicit "exists in index?" API

Each caller of index_name_exists() knows whether it is looking for a
directory or a file, and can avoid the unnecessary indirection of
index_name_exists() by instead calling index_dir_exists() or
index_file_exists() directly.

Invoking the appropriate search function explicitly will allow a
subsequent patch to relieve callers of the artificial burden of having
to add a trailing '/' to the pathname given to index_dir_exists().

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Sunshine
2013-09-17 03:06:15 -04:00
committed by Junio C Hamano
parent db5360f3f4
commit ebbd7439b1
3 changed files with 9 additions and 9 deletions

View File

@ -643,7 +643,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
if (*ptr == '/') {
struct cache_entry *foundce;
++ptr;
foundce = index_name_exists(istate, ce->name, ptr - ce->name, ignore_case);
foundce = index_dir_exists(istate, ce->name, ptr - ce->name);
if (foundce) {
memcpy((void *)startPtr, foundce->name + (startPtr - ce->name), ptr - startPtr);
startPtr = ptr;
@ -652,7 +652,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
}
}
alias = index_name_exists(istate, ce->name, ce_namelen(ce), ignore_case);
alias = index_file_exists(istate, ce->name, ce_namelen(ce), ignore_case);
if (alias && !ce_stage(alias) && !ie_match_stat(istate, alias, st, ce_option)) {
/* Nothing changed, really */
free(ce);