(process_file): Don't record dev/inode for directories.
Under some circumstances, without -c, du would mistakenly count the
space of hard-linked files, not just the first one it encountered.
Reported by Anthony Thyssen.
(du_files): Don't ever clear the set of `seen' dev/inodes.
via a hard link, then don't let it contribute to the sums. */
if (skip
|| (!opt_count_all
+ && ! S_ISDIR (sb->st_mode)
&& 1 < sb->st_nlink
&& hash_ins (sb->st_ino, sb->st_dev)))
{
}
FTS_CROSS_CHECK (fts);
- /* This is a space optimization. If we aren't printing totals,
- then it's ok to clear the duplicate-detection tables after
- each command line hierarchy has been processed. */
- if (ent->fts_level == 0 && ent->fts_info == FTS_D && !print_grand_total)
- hash_clear (htab);
-
process_file (fts, ent);
}