If the file was removed by some other program, we should just go
to the next one without failing. item_do() is only used for recursive
globs instead of fixed paths so skipping on missing files makes sense
(unlike if the path was fixed where we should probably fail).
Fixes #32691 (hopefully)
fdaction_t action) {
struct stat st;
- int r = 0, q;
+ int r = 0, q = 0;
assert(c);
assert(i);
continue;
de_fd = openat(fd, de->d_name, O_NOFOLLOW|O_CLOEXEC|O_PATH);
- if (de_fd < 0)
- q = log_error_errno(errno, "Failed to open() file '%s': %m", de->d_name);
- else {
+ if (de_fd < 0) {
+ if (errno != -ENOENT)
+ q = log_error_errno(errno, "Failed to open file '%s': %m", de->d_name);
+ } else {
_cleanup_free_ char *de_path = NULL;
de_path = path_join(path, de->d_name);