summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/diskusage/dirsize.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/diskusage/dirsize.c b/libs/diskusage/dirsize.c
index 45e7b2a..6703783 100644
--- a/libs/diskusage/dirsize.c
+++ b/libs/diskusage/dirsize.c
@@ -49,6 +49,9 @@ int64_t calculate_dir_size(int dfd)
while ((de = readdir(d))) {
const char *name = de->d_name;
+ if (fstatat(dfd, name, &s, AT_SYMLINK_NOFOLLOW) == 0) {
+ size += stat_size(&s);
+ }
if (de->d_type == DT_DIR) {
int subfd;
@@ -64,10 +67,6 @@ int64_t calculate_dir_size(int dfd)
if (subfd >= 0) {
size += calculate_dir_size(subfd);
}
- } else {
- if (fstatat(dfd, name, &s, AT_SYMLINK_NOFOLLOW) == 0) {
- size += stat_size(&s);
- }
}
}
closedir(d);