du: Don't fail immediately when directory can't be read (#8719)

This commit is contained in:
luk1337 2021-07-13 17:30:38 +02:00 committed by GitHub
parent 77795b2c8f
commit 334499a3f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
Notes: sideshowbarker 2024-07-18 09:08:28 +09:00

View file

@ -136,11 +136,13 @@ int print_space_usage(const String& path, const DuOption& du_option, int max_dep
return 1;
}
int ret = 0;
if (--max_depth >= 0 && S_ISDIR(path_stat.st_mode)) {
auto di = Core::DirIterator(path, Core::DirIterator::SkipParentAndBaseDir);
if (di.has_error()) {
warnln("DirIterator: {}", di.error_string());
return 1;
warnln("du: cannot read directory '{}': {}", path, di.error_string());
ret = 1;
}
while (di.has_next()) {
const auto child_path = di.next_full_path();
@ -193,5 +195,5 @@ int print_space_usage(const String& path, const DuOption& du_option, int max_dep
outln("\t{}\t{}", formatted_time, path);
}
return 0;
return ret;
}