diff options
Diffstat (limited to 'df.c')
-rw-r--r-- | df.c | 31 |
1 files changed, 8 insertions, 23 deletions
@@ -32,7 +32,7 @@ | |||
32 | 32 | ||
33 | extern const char mtab_file[]; /* Defined in utility.c */ | 33 | extern const char mtab_file[]; /* Defined in utility.c */ |
34 | #ifdef BB_FEATURE_HUMAN_READABLE | 34 | #ifdef BB_FEATURE_HUMAN_READABLE |
35 | static unsigned long df_disp_hr = KILOBYTE; | 35 | static unsigned long df_disp_hr = 1; |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | static int do_df(char *device, const char *mount_point) | 38 | static 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 |