From 6d5ae5eb76849dc907cca8fc6158e98c45b5e234 Mon Sep 17 00:00:00 2001
From: Yorhel <git@yorhel.nl>
Date: Thu, 16 Apr 2009 19:05:11 +0200
Subject: [PATCH] Fixed minor size + item count inconsistency on recalculating
 a dir

Namely, the 'parent' dir item itself that is recalculated isn't
reconsidered in its parents.
---
 src/calc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/calc.c b/src/calc.c
index d6c29c1..a1a2001 100644
--- a/src/calc.c
+++ b/src/calc.c
@@ -399,6 +399,15 @@ void calc_process() {
   stcalc.parent = t;
   stcalc.curdev = fs.st_dev;
 
+  /* update parents, if any */
+  if(stcalc.orig) {
+    for(t=t->parent; t!=NULL; t=t->parent) {
+      t->size += stcalc.parent->size;
+      t->asize += stcalc.parent->asize;
+      t->items++;
+    }
+  }
+
   /* start calculating */
   if(!calc_dir(stcalc.parent, tmp) && !stcalc.err) {
     pstate = ST_BROWSE;
-- 
GitLab