treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
Using the is_missing_file_error() helper introduced in the previous step, update all hits from $ git grep -e ENOENT --and -e ENOTDIR There are codepaths that only check ENOENT, and it is possible that some of them should be checking both. Updating them is kept out of this step deliberately, as we do not want to change behaviour in this step. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
dc5a18b364
commit
c7054209d6
2
apply.c
2
apply.c
@ -3741,7 +3741,7 @@ static int check_to_create(struct apply_state *state,
|
||||
return 0;
|
||||
|
||||
return EXISTS_IN_WORKTREE;
|
||||
} else if ((errno != ENOENT) && (errno != ENOTDIR)) {
|
||||
} else if (!is_missing_file_error(errno)) {
|
||||
return error_errno("%s", new_name);
|
||||
}
|
||||
return 0;
|
||||
|
@ -129,7 +129,7 @@ static int check_local_mod(struct object_id *head, int index_only)
|
||||
ce = active_cache[pos];
|
||||
|
||||
if (lstat(ce->name, &st) < 0) {
|
||||
if (errno != ENOENT && errno != ENOTDIR)
|
||||
if (!is_missing_file_error(errno))
|
||||
warning_errno(_("failed to stat '%s'"), ce->name);
|
||||
/* It already vanished from the working tree */
|
||||
continue;
|
||||
|
@ -253,7 +253,7 @@ static int remove_one_path(const char *path)
|
||||
*/
|
||||
static int process_lstat_error(const char *path, int err)
|
||||
{
|
||||
if (err == ENOENT || err == ENOTDIR)
|
||||
if (is_missing_file_error(err))
|
||||
return remove_one_path(path);
|
||||
return error("lstat(\"%s\"): %s", path, strerror(err));
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
static int check_removed(const struct cache_entry *ce, struct stat *st)
|
||||
{
|
||||
if (lstat(ce->name, st) < 0) {
|
||||
if (errno != ENOENT && errno != ENOTDIR)
|
||||
if (!is_missing_file_error(errno))
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
|
2
dir.c
2
dir.c
@ -2235,7 +2235,7 @@ int remove_path(const char *name)
|
||||
{
|
||||
char *slash;
|
||||
|
||||
if (unlink(name) && errno != ENOENT && errno != ENOTDIR)
|
||||
if (unlink(name) && !is_missing_file_error(errno))
|
||||
return -1;
|
||||
|
||||
slash = strrchr(name, '/');
|
||||
|
2
setup.c
2
setup.c
@ -147,7 +147,7 @@ int check_filename(const char *prefix, const char *arg)
|
||||
name = arg;
|
||||
if (!lstat(name, &st))
|
||||
return 1; /* file exists */
|
||||
if (errno == ENOENT || errno == ENOTDIR)
|
||||
if (is_missing_file_error(errno))
|
||||
return 0; /* file does not exist */
|
||||
die_errno("failed to stat '%s'", arg);
|
||||
}
|
||||
|
@ -1406,7 +1406,7 @@ static void diagnose_invalid_sha1_path(const char *prefix,
|
||||
if (file_exists(filename))
|
||||
die("Path '%s' exists on disk, but not in '%.*s'.",
|
||||
filename, object_name_len, object_name);
|
||||
if (errno == ENOENT || errno == ENOTDIR) {
|
||||
if (is_missing_file_error(errno)) {
|
||||
char *fullname = xstrfmt("%s%s", prefix, filename);
|
||||
|
||||
if (!get_tree_entry(tree_sha1, fullname,
|
||||
@ -1471,7 +1471,7 @@ static void diagnose_invalid_index_path(int stage,
|
||||
|
||||
if (file_exists(filename))
|
||||
die("Path '%s' exists on disk, but not in the index.", filename);
|
||||
if (errno == ENOENT || errno == ENOTDIR)
|
||||
if (is_missing_file_error(errno))
|
||||
die("Path '%s' does not exist (neither on disk nor in the index).",
|
||||
filename);
|
||||
|
||||
|
@ -583,8 +583,8 @@ void warn_on_inaccessible(const char *path)
|
||||
|
||||
static int access_error_is_ok(int err, unsigned flag)
|
||||
{
|
||||
return err == ENOENT || err == ENOTDIR ||
|
||||
((flag & ACCESS_EACCES_OK) && err == EACCES);
|
||||
return (is_missing_file_error(err) ||
|
||||
((flag & ACCESS_EACCES_OK) && err == EACCES));
|
||||
}
|
||||
|
||||
int access_or_warn(const char *path, int mode, unsigned flag)
|
||||
|
Loading…
Reference in New Issue
Block a user