From e563f9e851c78f5c13cb9828ddb11ca981fd6331 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Sat, 16 Feb 2019 10:22:31 +0000 Subject: [PATCH] du: don't count duplicate arguments. Closes 5288 Since coreutils 8.6 (2010-10-15) du no longer counts duplicate arguments. Revert the relevant part of commit 618a3027ed (du: fix "du /dir /dir" case). function old new delta du_main 302 297 -5 reset_ino_dev_hashtable 78 - -78 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-83) Total: -83 bytes Signed-off-by: Ron Yorston Signed-off-by: Denys Vlasenko --- coreutils/du.c | 4 ++-- libbb/inode_hash.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/coreutils/du.c b/coreutils/du.c index 6d737fbfb..d14d9e4ea 100644 --- a/coreutils/du.c +++ b/coreutils/du.c @@ -290,11 +290,11 @@ int du_main(int argc UNUSED_PARAM, char **argv) total = 0; do { total += du(*argv); - /* otherwise du /dir /dir won't show /dir twice: */ - reset_ino_dev_hashtable(); G.slink_depth = slink_depth_save; } while (*++argv); + if (ENABLE_FEATURE_CLEAN_UP) + reset_ino_dev_hashtable(); if (opt & OPT_c_total) print(total, "total"); diff --git a/libbb/inode_hash.c b/libbb/inode_hash.c index 4142813e3..a125244ca 100644 --- a/libbb/inode_hash.c +++ b/libbb/inode_hash.c @@ -77,7 +77,7 @@ void FAST_FUNC add_to_ino_dev_hashtable(const struct stat *statbuf, const char * ino_dev_hashtable[i] = bucket; } -#if ENABLE_DU || ENABLE_FEATURE_CLEAN_UP +#if ENABLE_FEATURE_CLEAN_UP /* Clear statbuf hash table */ void FAST_FUNC reset_ino_dev_hashtable(void) {