From fec3fd1f8ac1db9ed87b79bd3eb5e38aa835e881 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 26 Jul 2014 13:30:40 -0500 Subject: Move DIRTREE_COMEAGAIN second callback up to when the filehandle is still open, and add dir->again variable to distinguish second call instead of checking for -1 filehandle. --- toys/posix/du.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'toys/posix/du.c') diff --git a/toys/posix/du.c b/toys/posix/du.c index 2bfa7e41..22a26d3a 100644 --- a/toys/posix/du.c +++ b/toys/posix/du.c @@ -111,12 +111,12 @@ static int do_du(struct dirtree *node) return 0; // Don't count hard links twice - if (!(toys.optflags & FLAG_l) && node->data != -1) + if (!(toys.optflags & FLAG_l) && !node->again) if (seen_inode(&TT.inodes, &node->st)) return 0; // Collect child info before printing directory size if (S_ISDIR(node->st.st_mode)) { - if (node->data != -1) { + if (!node->again) { TT.depth++; return DIRTREE_COMEAGAIN | (DIRTREE_SYMFOLLOW*!!(toys.optflags & FLAG_L)); } else TT.depth--; -- cgit v1.2.3