From 137dee4c0f6b31264d23b99dcc443073c9628422 Mon Sep 17 00:00:00 2001
From: andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Date: Wed, 7 Mar 2001 06:04:08 +0000
Subject: Static-ify a variable.  make du work with all the human-readable
 variants since my last pass only fixed 'du -h' but left the others broken.

git-svn-id: svn://busybox.net/trunk/busybox@1997 69ca8d6d-28ef-0310-b511-8ec308f3f277
---
 coreutils/df.c |  2 +-
 coreutils/du.c | 21 ++++++++++++++++-----
 df.c           |  2 +-
 du.c           | 21 ++++++++++++++++-----
 4 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/coreutils/df.c b/coreutils/df.c
index 1f5e4b09e..9f8770fe6 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -31,7 +31,7 @@
 
 extern const char mtab_file[];	/* Defined in utility.c */
 #ifdef BB_FEATURE_HUMAN_READABLE
-unsigned long disp_hr = KILOBYTE; 
+static unsigned long disp_hr = KILOBYTE; 
 #endif
 
 static int df(char *device, const char *mountPoint)
diff --git a/coreutils/du.c b/coreutils/du.c
index e6b99a28b..36c4de290 100644
--- a/coreutils/du.c
+++ b/coreutils/du.c
@@ -36,7 +36,7 @@
 
 
 #ifdef BB_FEATURE_HUMAN_READABLE
-unsigned long du_disp_hr = KILOBYTE;
+static unsigned long disp_hr = KILOBYTE;
 #endif
 
 typedef void (Display) (long, char *);
@@ -48,8 +48,19 @@ static Display *print;
 
 static void print_normal(long size, char *filename)
 {
+	unsigned long base;
 #ifdef BB_FEATURE_HUMAN_READABLE
-	printf("%s\t%s\n", format(size, du_disp_hr), filename);
+	switch (disp_hr) {
+		case MEGABYTE:
+			base = KILOBYTE;
+			break;
+		case KILOBYTE:
+			base = 1;
+			break;
+		default:
+			base = 0;
+	}
+printf("%s\t%s\n", format(size, base), filename);
 #else
 	printf("%ld\t%s\n", size, filename);
 #endif
@@ -156,8 +167,8 @@ int du_main(int argc, char **argv)
 					count_hardlinks = 1;
 					break;
 #ifdef BB_FEATURE_HUMAN_READABLE
-			case 'h': du_disp_hr = 0;        break;
-			case 'm': du_disp_hr = MEGABYTE; break;
+			case 'h': disp_hr = 0;        break;
+			case 'm': disp_hr = MEGABYTE; break;
 #endif
 			case 'k': break;
 			default:
@@ -185,7 +196,7 @@ int du_main(int argc, char **argv)
 	return status;
 }
 
-/* $Id: du.c,v 1.40 2001/03/07 03:53:40 andersen Exp $ */
+/* $Id: du.c,v 1.41 2001/03/07 06:04:08 andersen Exp $ */
 /*
 Local Variables:
 c-file-style: "linux"
diff --git a/df.c b/df.c
index 1f5e4b09e..9f8770fe6 100644
--- a/df.c
+++ b/df.c
@@ -31,7 +31,7 @@
 
 extern const char mtab_file[];	/* Defined in utility.c */
 #ifdef BB_FEATURE_HUMAN_READABLE
-unsigned long disp_hr = KILOBYTE; 
+static unsigned long disp_hr = KILOBYTE; 
 #endif
 
 static int df(char *device, const char *mountPoint)
diff --git a/du.c b/du.c
index e6b99a28b..36c4de290 100644
--- a/du.c
+++ b/du.c
@@ -36,7 +36,7 @@
 
 
 #ifdef BB_FEATURE_HUMAN_READABLE
-unsigned long du_disp_hr = KILOBYTE;
+static unsigned long disp_hr = KILOBYTE;
 #endif
 
 typedef void (Display) (long, char *);
@@ -48,8 +48,19 @@ static Display *print;
 
 static void print_normal(long size, char *filename)
 {
+	unsigned long base;
 #ifdef BB_FEATURE_HUMAN_READABLE
-	printf("%s\t%s\n", format(size, du_disp_hr), filename);
+	switch (disp_hr) {
+		case MEGABYTE:
+			base = KILOBYTE;
+			break;
+		case KILOBYTE:
+			base = 1;
+			break;
+		default:
+			base = 0;
+	}
+printf("%s\t%s\n", format(size, base), filename);
 #else
 	printf("%ld\t%s\n", size, filename);
 #endif
@@ -156,8 +167,8 @@ int du_main(int argc, char **argv)
 					count_hardlinks = 1;
 					break;
 #ifdef BB_FEATURE_HUMAN_READABLE
-			case 'h': du_disp_hr = 0;        break;
-			case 'm': du_disp_hr = MEGABYTE; break;
+			case 'h': disp_hr = 0;        break;
+			case 'm': disp_hr = MEGABYTE; break;
 #endif
 			case 'k': break;
 			default:
@@ -185,7 +196,7 @@ int du_main(int argc, char **argv)
 	return status;
 }
 
-/* $Id: du.c,v 1.40 2001/03/07 03:53:40 andersen Exp $ */
+/* $Id: du.c,v 1.41 2001/03/07 06:04:08 andersen Exp $ */
 /*
 Local Variables:
 c-file-style: "linux"
-- 
cgit v1.2.3-55-g6feb