Merge branch 'jn/unpack-lstat-failure-report'

* jn/unpack-lstat-failure-report:
  unpack-trees: handle lstat failure for existing file
  unpack-trees: handle lstat failure for existing directory
This commit is contained in:
Junio C Hamano 2011-02-09 16:41:16 -08:00
commit 5bb20ece6b

View file

@ -1374,16 +1374,22 @@ static int verify_absent_1(struct cache_entry *ce,
char path[PATH_MAX + 1];
memcpy(path, ce->name, len);
path[len] = 0;
lstat(path, &st);
if (lstat(path, &st))
return error("cannot stat '%s': %s", path,
strerror(errno));
return check_ok_to_remove(path, len, DT_UNKNOWN, NULL, &st,
error_type, o);
} else if (!lstat(ce->name, &st))
} else if (lstat(ce->name, &st)) {
if (errno != ENOENT)
return error("cannot stat '%s': %s", ce->name,
strerror(errno));
return 0;
} else {
return check_ok_to_remove(ce->name, ce_namelen(ce),
ce_to_dtype(ce), ce, &st,
error_type, o);
return 0;
ce_to_dtype(ce), ce, &st,
error_type, o);
}
}
static int verify_absent(struct cache_entry *ce,