diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-13 12:27:49 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-08-13 12:27:49 +0000 |
| commit | 08294dbf5bc6fb1ea0b185488675d91169e231ce (patch) | |
| tree | 2f0ad14f5a2a4edf5cdf36e72eaaad7c70ed0c42 | |
| parent | 319f8ebef8a9e48cb74b220d4585552928549266 (diff) | |
| download | busybox-w32-08294dbf5bc6fb1ea0b185488675d91169e231ce.tar.gz busybox-w32-08294dbf5bc6fb1ea0b185488675d91169e231ce.tar.bz2 busybox-w32-08294dbf5bc6fb1ea0b185488675d91169e231ce.zip | |
df: match coreutils behavior of wrapping lines if filesystem name is too long.
df: trim help text
| -rw-r--r-- | coreutils/df.c | 49 | ||||
| -rw-r--r-- | include/usage.h | 9 |
2 files changed, 29 insertions, 29 deletions
diff --git a/coreutils/df.c b/coreutils/df.c index f616398f4..fba59e791 100644 --- a/coreutils/df.c +++ b/coreutils/df.c | |||
| @@ -23,19 +23,19 @@ | |||
| 23 | #include "libbb.h" | 23 | #include "libbb.h" |
| 24 | 24 | ||
| 25 | #if !ENABLE_FEATURE_HUMAN_READABLE | 25 | #if !ENABLE_FEATURE_HUMAN_READABLE |
| 26 | static long kscale(long b, long bs) | 26 | static unsigned long kscale(unsigned long b, unsigned long bs) |
| 27 | { | 27 | { |
| 28 | return ( b * (long long) bs + 1024/2 ) / 1024; | 28 | return (b * (unsigned long long) bs + 1024/2) / 1024; |
| 29 | } | 29 | } |
| 30 | #endif | 30 | #endif |
| 31 | 31 | ||
| 32 | int df_main(int argc, char **argv); | 32 | int df_main(int argc, char **argv); |
| 33 | int df_main(int argc, char **argv) | 33 | int df_main(int argc, char **argv) |
| 34 | { | 34 | { |
| 35 | long blocks_used; | 35 | unsigned long blocks_used; |
| 36 | long blocks_percent_used; | 36 | unsigned blocks_percent_used; |
| 37 | #if ENABLE_FEATURE_HUMAN_READABLE | 37 | #if ENABLE_FEATURE_HUMAN_READABLE |
| 38 | unsigned long df_disp_hr = 1024; | 38 | unsigned df_disp_hr = 1024; |
| 39 | #endif | 39 | #endif |
| 40 | int status = EXIT_SUCCESS; | 40 | int status = EXIT_SUCCESS; |
| 41 | unsigned opt; | 41 | unsigned opt; |
| @@ -43,10 +43,9 @@ int df_main(int argc, char **argv) | |||
| 43 | struct mntent *mount_entry; | 43 | struct mntent *mount_entry; |
| 44 | struct statfs s; | 44 | struct statfs s; |
| 45 | /* default display is kilobytes */ | 45 | /* default display is kilobytes */ |
| 46 | static const char hdr_1k[] ALIGN1 = "1k-blocks"; | 46 | const char *disp_units_hdr = "1k-blocks"; |
| 47 | const char *disp_units_hdr = hdr_1k; | ||
| 48 | 47 | ||
| 49 | #if ENABLE_FEATURE_HUMAN_READABLE | 48 | #if ENABLE_FEATURE_HUMAN_READABLE |
| 50 | opt_complementary = "h-km:k-hm:m-hk"; | 49 | opt_complementary = "h-km:k-hm:m-hk"; |
| 51 | opt = getopt32(argc, argv, "hmk"); | 50 | opt = getopt32(argc, argv, "hmk"); |
| 52 | if (opt & 1) { | 51 | if (opt & 1) { |
| @@ -73,7 +72,7 @@ int df_main(int argc, char **argv) | |||
| 73 | } | 72 | } |
| 74 | } | 73 | } |
| 75 | 74 | ||
| 76 | do { | 75 | while (1) { |
| 77 | const char *device; | 76 | const char *device; |
| 78 | const char *mount_point; | 77 | const char *mount_point; |
| 79 | 78 | ||
| @@ -109,7 +108,7 @@ int df_main(int argc, char **argv) | |||
| 109 | blocks_used = s.f_blocks - s.f_bfree; | 108 | blocks_used = s.f_blocks - s.f_bfree; |
| 110 | blocks_percent_used = 0; | 109 | blocks_percent_used = 0; |
| 111 | if (blocks_used + s.f_bavail) { | 110 | if (blocks_used + s.f_bavail) { |
| 112 | blocks_percent_used = (((long long) blocks_used) * 100 | 111 | blocks_percent_used = (blocks_used * 100ULL |
| 113 | + (blocks_used + s.f_bavail)/2 | 112 | + (blocks_used + s.f_bavail)/2 |
| 114 | ) / (blocks_used + s.f_bavail); | 113 | ) / (blocks_used + s.f_bavail); |
| 115 | } | 114 | } |
| @@ -125,28 +124,28 @@ int df_main(int argc, char **argv) | |||
| 125 | } | 124 | } |
| 126 | } | 125 | } |
| 127 | 126 | ||
| 127 | if (printf("\n%-20s" + 1, device) > 20) | ||
| 128 | printf("\n%-20s", ""); | ||
| 128 | #if ENABLE_FEATURE_HUMAN_READABLE | 129 | #if ENABLE_FEATURE_HUMAN_READABLE |
| 129 | printf("%-20s %9s ", device, | 130 | printf(" %9s ", |
| 130 | make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr)); | 131 | make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr)); |
| 131 | 132 | ||
| 132 | printf("%9s ", | 133 | printf(" %9s " + 1, |
| 133 | make_human_readable_str( (s.f_blocks - s.f_bfree), | 134 | make_human_readable_str((s.f_blocks - s.f_bfree), |
| 134 | s.f_bsize, df_disp_hr)); | 135 | s.f_bsize, df_disp_hr)); |
| 135 | 136 | ||
| 136 | printf("%9s %3ld%% %s\n", | 137 | printf("%9s %3u%% %s\n", |
| 137 | make_human_readable_str(s.f_bavail, s.f_bsize, df_disp_hr), | 138 | make_human_readable_str(s.f_bavail, s.f_bsize, df_disp_hr), |
| 138 | blocks_percent_used, mount_point); | 139 | blocks_percent_used, mount_point); |
| 139 | #else | 140 | #else |
| 140 | printf("%-20s %9ld %9ld %9ld %3ld%% %s\n", | 141 | printf(" %9lu %9lu %9lu %3u%% %s\n", |
| 141 | device, | 142 | kscale(s.f_blocks, s.f_bsize), |
| 142 | kscale(s.f_blocks, s.f_bsize), | 143 | kscale(s.f_blocks-s.f_bfree, s.f_bsize), |
| 143 | kscale(s.f_blocks-s.f_bfree, s.f_bsize), | 144 | kscale(s.f_bavail, s.f_bsize), |
| 144 | kscale(s.f_bavail, s.f_bsize), | 145 | blocks_percent_used, mount_point); |
| 145 | blocks_percent_used, mount_point); | ||
| 146 | #endif | 146 | #endif |
| 147 | } | 147 | } |
| 148 | 148 | } | |
| 149 | } while (1); | ||
| 150 | 149 | ||
| 151 | fflush_stdout_and_exit(status); | 150 | fflush_stdout_and_exit(status); |
| 152 | } | 151 | } |
diff --git a/include/usage.h b/include/usage.h index d5e9d7d5d..f5025b70a 100644 --- a/include/usage.h +++ b/include/usage.h | |||
| @@ -607,12 +607,13 @@ | |||
| 607 | "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]" | 607 | "[-" USE_FEATURE_HUMAN_READABLE("hm") "k] [FILESYSTEM ...]" |
| 608 | #define df_full_usage \ | 608 | #define df_full_usage \ |
| 609 | "Print the filesystem space used and space available" \ | 609 | "Print the filesystem space used and space available" \ |
| 610 | "\n\nOptions:\n" \ | ||
| 611 | USE_FEATURE_HUMAN_READABLE( \ | 610 | USE_FEATURE_HUMAN_READABLE( \ |
| 612 | "\n -h Print sizes in human readable format (e.g., 1K 243M 2G )\n" \ | 611 | "\n\nOptions control size display:" \ |
| 613 | " -m Print sizes in megabytes\n" \ | 612 | "\n -h Human readable (e.g. 1K 243M 2G)" \ |
| 614 | " -k Print sizes in kilobytes(default)") \ | 613 | "\n -m 1024*1024 blocks" \ |
| 614 | "\n -k 1024 blocks") \ | ||
| 615 | SKIP_FEATURE_HUMAN_READABLE( \ | 615 | SKIP_FEATURE_HUMAN_READABLE( \ |
| 616 | "\n\nOptions:" \ | ||
| 616 | "\n -k Ignored") | 617 | "\n -k Ignored") |
| 617 | #define df_example_usage \ | 618 | #define df_example_usage \ |
| 618 | "$ df\n" \ | 619 | "$ df\n" \ |
