aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-06-13 08:02:45 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-06-13 08:02:45 +0000
commit553460f253c025d4b1f319c1513c0259dc4b7934 (patch)
tree64925420925deb361a2024b9b362e5c987334124 /coreutils
parent0206172be8940d86e81f52636d2dd9dbcd32388b (diff)
downloadbusybox-w32-553460f253c025d4b1f319c1513c0259dc4b7934.tar.gz
busybox-w32-553460f253c025d4b1f319c1513c0259dc4b7934.tar.bz2
busybox-w32-553460f253c025d4b1f319c1513c0259dc4b7934.zip
I reworked make_human_readable_str so it now has a sane interface,
and then fixed up df, du, and ls to use the new interface. I also fixed up some formatting issues in ls while I was in there. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2826 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/df.c31
-rw-r--r--coreutils/du.c15
-rw-r--r--coreutils/ls.c11
3 files changed, 15 insertions, 42 deletions
diff --git a/coreutils/df.c b/coreutils/df.c
index df6874433..6a81086cb 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -32,7 +32,7 @@
32 32
33extern const char mtab_file[]; /* Defined in utility.c */ 33extern const char mtab_file[]; /* Defined in utility.c */
34#ifdef BB_FEATURE_HUMAN_READABLE 34#ifdef BB_FEATURE_HUMAN_READABLE
35static unsigned long df_disp_hr = KILOBYTE; 35static unsigned long df_disp_hr = 1;
36#endif 36#endif
37 37
38static int do_df(char *device, const char *mount_point) 38static int do_df(char *device, const char *mount_point)
@@ -40,9 +40,6 @@ static int do_df(char *device, const char *mount_point)
40 struct statfs s; 40 struct statfs s;
41 long blocks_used; 41 long blocks_used;
42 long blocks_percent_used; 42 long blocks_percent_used;
43#ifdef BB_FEATURE_HUMAN_READABLE
44 long base;
45#endif
46 43
47 if (statfs(mount_point, &s) != 0) { 44 if (statfs(mount_point, &s) != 0) {
48 perror_msg("%s", mount_point); 45 perror_msg("%s", mount_point);
@@ -65,27 +62,15 @@ static int do_df(char *device, const char *mount_point)
65 return FALSE; 62 return FALSE;
66 } 63 }
67#ifdef BB_FEATURE_HUMAN_READABLE 64#ifdef BB_FEATURE_HUMAN_READABLE
68 switch (df_disp_hr) {
69 case MEGABYTE:
70 base = KILOBYTE;
71 break;
72 case KILOBYTE:
73 base = 1;
74 break;
75 default:
76 base = 0;
77 }
78 printf("%-20s %9s ", device, 65 printf("%-20s %9s ", device,
79 make_human_readable_str((unsigned long)(s.f_blocks * 66 make_human_readable_str(s.f_blocks, s.f_bsize/KILOBYTE, df_disp_hr));
80 (s.f_bsize/(double)KILOBYTE)), base)); 67
81 printf("%9s ", 68 printf("%9s ",
82 make_human_readable_str((unsigned long)( 69 make_human_readable_str( (s.f_blocks - s.f_bfree), s.f_bsize/KILOBYTE, df_disp_hr));
83 (s.f_blocks - s.f_bfree) * 70
84 (s.f_bsize/(double)KILOBYTE)), base));
85 printf("%9s %3ld%% %s\n", 71 printf("%9s %3ld%% %s\n",
86 make_human_readable_str((unsigned long)(s.f_bavail * 72 make_human_readable_str(s.f_bavail, s.f_bsize/KILOBYTE, df_disp_hr),
87 (s.f_bsize/(double)KILOBYTE)), base), 73 blocks_percent_used, mount_point);
88 blocks_percent_used, mount_point);
89#else 74#else
90 printf("%-20s %9ld %9ld %9ld %3ld%% %s\n", 75 printf("%-20s %9ld %9ld %9ld %3ld%% %s\n",
91 device, 76 device,
@@ -119,7 +104,7 @@ extern int df_main(int argc, char **argv)
119 strcpy(disp_units_hdr, " Size"); 104 strcpy(disp_units_hdr, " Size");
120 break; 105 break;
121 case 'm': 106 case 'm':
122 df_disp_hr = MEGABYTE; 107 df_disp_hr = KILOBYTE;
123 strcpy(disp_units_hdr, "1M-blocks"); 108 strcpy(disp_units_hdr, "1M-blocks");
124 break; 109 break;
125#endif 110#endif
diff --git a/coreutils/du.c b/coreutils/du.c
index fd19855e1..1966e3559 100644
--- a/coreutils/du.c
+++ b/coreutils/du.c
@@ -46,19 +46,8 @@ static Display *print;
46 46
47static void print_normal(long size, char *filename) 47static void print_normal(long size, char *filename)
48{ 48{
49 unsigned long base;
50#ifdef BB_FEATURE_HUMAN_READABLE 49#ifdef BB_FEATURE_HUMAN_READABLE
51 switch (disp_hr) { 50 printf("%s\t%s\n", make_human_readable_str(size<<10, 1, disp_hr), filename);
52 case MEGABYTE:
53 base = KILOBYTE;
54 break;
55 case KILOBYTE:
56 base = 1;
57 break;
58 default:
59 base = 0;
60 }
61 printf("%s\t%s\n", make_human_readable_str(size, base), filename);
62#else 51#else
63 printf("%ld\t%s\n", size, filename); 52 printf("%ld\t%s\n", size, filename);
64#endif 53#endif
@@ -259,7 +248,7 @@ int du_main(int argc, char **argv)
259 return status; 248 return status;
260} 249}
261 250
262/* $Id: du.c,v 1.48 2001/06/01 21:47:15 andersen Exp $ */ 251/* $Id: du.c,v 1.49 2001/06/13 08:02:44 andersen Exp $ */
263/* 252/*
264Local Variables: 253Local Variables:
265c-file-style: "linux" 254c-file-style: "linux"
diff --git a/coreutils/ls.c b/coreutils/ls.c
index ec8e216fa..c54b6a42f 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -610,8 +610,8 @@ static int list_single(struct dnode *dn)
610 break; 610 break;
611 case LIST_BLOCKS: 611 case LIST_BLOCKS:
612#ifdef BB_FEATURE_HUMAN_READABLE 612#ifdef BB_FEATURE_HUMAN_READABLE
613 fprintf(stdout, "%5s ", make_human_readable_str(dn->dstat.st_blocks>>1, 613 fprintf(stdout, "%4s ", make_human_readable_str(dn->dstat.st_blocks>>1,
614 (ls_disp_hr==TRUE)? 0: 1)); 614 KILOBYTE, (ls_disp_hr==TRUE)? 0: 1));
615#else 615#else
616#if _FILE_OFFSET_BITS == 64 616#if _FILE_OFFSET_BITS == 64
617 printf("%4lld ", dn->dstat.st_blocks>>1); 617 printf("%4lld ", dn->dstat.st_blocks>>1);
@@ -622,7 +622,7 @@ static int list_single(struct dnode *dn)
622 column += 5; 622 column += 5;
623 break; 623 break;
624 case LIST_MODEBITS: 624 case LIST_MODEBITS:
625 printf("%10s", (char *)mode_string(dn->dstat.st_mode)); 625 printf("%-10s ", (char *)mode_string(dn->dstat.st_mode));
626 column += 10; 626 column += 10;
627 break; 627 break;
628 case LIST_NLINKS: 628 case LIST_NLINKS:
@@ -634,7 +634,7 @@ static int list_single(struct dnode *dn)
634 my_getpwuid(scratch, dn->dstat.st_uid); 634 my_getpwuid(scratch, dn->dstat.st_uid);
635 printf("%-8.8s ", scratch); 635 printf("%-8.8s ", scratch);
636 my_getgrgid(scratch, dn->dstat.st_gid); 636 my_getgrgid(scratch, dn->dstat.st_gid);
637 printf("%-8.8s", scratch); 637 printf("%-8.8s ", scratch);
638 column += 17; 638 column += 17;
639 break; 639 break;
640#endif 640#endif
@@ -649,8 +649,7 @@ static int list_single(struct dnode *dn)
649 } else { 649 } else {
650#ifdef BB_FEATURE_HUMAN_READABLE 650#ifdef BB_FEATURE_HUMAN_READABLE
651 if (ls_disp_hr==TRUE) { 651 if (ls_disp_hr==TRUE) {
652 fprintf(stdout, "%9s ", make_human_readable_str( 652 fprintf(stdout, "%8s ", make_human_readable_str(dn->dstat.st_size, 1, 0));
653 dn->dstat.st_size>>10, 0));
654 } else 653 } else
655#endif 654#endif
656 { 655 {