Skip to content

Commit

Permalink
unpack-trees: remove redundant path search in verify_absent
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Clemens Buchacher authored and Junio C Hamano committed Jan 5, 2009
1 parent 837e5fe commit 7b9e3ce
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions unpack-trees.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action,
* anything in the existing directory there.
*/
int namelen;
int pos, i;
int i;
struct dir_struct d;
char *pathbuf;
int cnt = 0;
Expand All @@ -514,11 +514,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action,
* in that directory.
*/
namelen = strlen(ce->name);
pos = index_name_pos(o->src_index, ce->name, namelen);
if (0 <= pos)
return 0; /* we have it as nondirectory */
pos = -pos - 1;
for (i = pos; i < o->src_index->cache_nr; i++) {
for (i = o->pos; i < o->src_index->cache_nr; i++) {
struct cache_entry *ce2 = o->src_index->cache[i];
int len = ce_namelen(ce2);
if (len < namelen ||
Expand Down

0 comments on commit 7b9e3ce

Please sign in to comment.