From 149589863da6b99ea3ac74809e9229b986e216e3 Mon Sep 17 00:00:00 2001 From: NicJA Date: Thu, 8 Apr 2010 10:20:13 +0000 Subject: [PATCH] correction to display of content size when scanning sub directories git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@32944 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- workbench/system/Wanderer/Tools/Info/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workbench/system/Wanderer/Tools/Info/main.c b/workbench/system/Wanderer/Tools/Info/main.c index 8c78402eee..28a66eb2b8 100644 --- a/workbench/system/Wanderer/Tools/Info/main.c +++ b/workbench/system/Wanderer/Tools/Info/main.c @@ -86,7 +86,7 @@ BOOL icon_altered = FALSE; #define kExallBufSize (4096) -ULONG calculateDirectorySize(struct DirScanProcess *scan, CONST_STRPTR directory) +ULONG calculateDirectorySize(struct DirScanProcess *scan, ULONG base, CONST_STRPTR directory) { UBYTE *buffer = NULL; BPTR directoryLock = NULL; @@ -124,7 +124,7 @@ D(bug("[WBInfo] calculateDirectorySize('%s')\n", directory)); if (ead->ed_Type == ST_FILE) { directorySize += ead->ed_Size; - sprintf(scan->scanSize, "%d bytes", directorySize); + sprintf(scan->scanSize, "%d bytes", (base + directorySize)); set(sizespace, MUIA_Text_Contents, (IPTR) scan->scanSize); } else if (ead->ed_Type == ST_USERDIR) @@ -133,7 +133,7 @@ D(bug("[WBInfo] calculateDirectorySize('%s')\n", directory)); char * subdirectory = AllocVec(subdirlen + 1, MEMF_CLEAR); CopyMem(directory, subdirectory, strlen(directory)); AddPart(subdirectory, ead->ed_Name, subdirlen + 1); - directorySize += calculateDirectorySize(scan, subdirectory); + directorySize += calculateDirectorySize(scan, (base + directorySize), subdirectory); } ead = ead->ed_Next; } while((ead != NULL) && (scan->scanState == SCANRUN)); @@ -165,7 +165,7 @@ AROS_UFH3(void, scanDir_Process, { D(bug("[WBInfo] scanDir_Process('%s')\n", scan->scanDir)); scan->scanSize = AllocVec(64, MEMF_CLEAR); - directorySize = calculateDirectorySize(scan, scan->scanDir); + directorySize = calculateDirectorySize(scan, directorySize, scan->scanDir); D(bug("[WBInfo] scanDir_Process: End size = %d bytes\n", directorySize)); sprintf(scan->scanSize, "%d bytes", directorySize); set(sizespace, MUIA_Text_Contents, (IPTR) scan->scanSize); -- 2.11.4.GIT