unpack-trees: remove redundant path search in verify_absent

Since the only caller, verify_absent, relies on the fact that o->pos
points to the next index entry anyways, there is no need to recompute
its position.

Furthermore, if a nondirectory entry were found, this would return too
early, because there could still be an untracked directory in the way.
This is currently not a problem, because verify_absent is only called
if the index does not have this entry.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Clemens Buchacher 2009-01-01 21:54:33 +01:00 committed by Junio C Hamano
parent 837e5fe95d
commit 7b9e3ce025

View File

@ -493,7 +493,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action,
* anything in the existing directory there. * anything in the existing directory there.
*/ */
int namelen; int namelen;
int pos, i; int i;
struct dir_struct d; struct dir_struct d;
char *pathbuf; char *pathbuf;
int cnt = 0; int cnt = 0;
@ -514,11 +514,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action,
* in that directory. * in that directory.
*/ */
namelen = strlen(ce->name); namelen = strlen(ce->name);
pos = index_name_pos(o->src_index, ce->name, namelen); for (i = o->pos; i < o->src_index->cache_nr; i++) {
if (0 <= pos)
return 0; /* we have it as nondirectory */
pos = -pos - 1;
for (i = pos; i < o->src_index->cache_nr; i++) {
struct cache_entry *ce2 = o->src_index->cache[i]; struct cache_entry *ce2 = o->src_index->cache[i];
int len = ce_namelen(ce2); int len = ce_namelen(ce2);
if (len < namelen || if (len < namelen ||