diff options
Diffstat (limited to 'coreutils/df.c')
| -rw-r--r-- | coreutils/df.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/coreutils/df.c b/coreutils/df.c index 01c41db38..3b533b610 100644 --- a/coreutils/df.c +++ b/coreutils/df.c | |||
| @@ -85,6 +85,9 @@ | |||
| 85 | //usage: ) | 85 | //usage: ) |
| 86 | //usage: "\n -B SIZE Blocksize" | 86 | //usage: "\n -B SIZE Blocksize" |
| 87 | //usage: ) | 87 | //usage: ) |
| 88 | //usage: IF_PLATFORM_MINGW32( | ||
| 89 | //usage: "\n -w Show Windows volumes" | ||
| 90 | //usage: ) | ||
| 88 | //usage: | 91 | //usage: |
| 89 | //usage:#define df_example_usage | 92 | //usage:#define df_example_usage |
| 90 | //usage: "$ df\n" | 93 | //usage: "$ df\n" |
| @@ -139,6 +142,7 @@ int df_main(int argc UNUSED_PARAM, char **argv) | |||
| 139 | OPT_HUMAN = (1 << (4 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, | 142 | OPT_HUMAN = (1 << (4 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, |
| 140 | OPT_HUMANDEC = (1 << (5 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, | 143 | OPT_HUMANDEC = (1 << (5 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, |
| 141 | OPT_MEGA = (1 << (6 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, | 144 | OPT_MEGA = (1 << (6 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, |
| 145 | OPT_WINVOL = (1 << (7 + 2*ENABLE_FEATURE_DF_FANCY + ENABLE_FEATURE_DF_FANCY_POSIX)) * ENABLE_FEATURE_HUMAN_READABLE, | ||
| 142 | }; | 146 | }; |
| 143 | const char *disp_units_hdr = NULL; | 147 | const char *disp_units_hdr = NULL; |
| 144 | char *chp, *opt_t; | 148 | char *chp, *opt_t; |
| @@ -160,6 +164,9 @@ int df_main(int argc UNUSED_PARAM, char **argv) | |||
| 160 | IF_FEATURE_DF_FANCY("aB:") | 164 | IF_FEATURE_DF_FANCY("aB:") |
| 161 | #endif | 165 | #endif |
| 162 | IF_FEATURE_HUMAN_READABLE("hHm") | 166 | IF_FEATURE_HUMAN_READABLE("hHm") |
| 167 | #if ENABLE_PLATFORM_MINGW32 | ||
| 168 | "w" | ||
| 169 | #endif | ||
| 163 | "\0" | 170 | "\0" |
| 164 | #if ENABLE_FEATURE_HUMAN_READABLE && ENABLE_FEATURE_DF_FANCY | 171 | #if ENABLE_FEATURE_HUMAN_READABLE && ENABLE_FEATURE_DF_FANCY |
| 165 | "k-mB:m-Bk:B-km" | 172 | "k-mB:m-Bk:B-km" |
| @@ -248,7 +255,12 @@ int df_main(int argc UNUSED_PARAM, char **argv) | |||
| 248 | } | 255 | } |
| 249 | } | 256 | } |
| 250 | 257 | ||
| 258 | #if ENABLE_PLATFORM_MINGW32 | ||
| 259 | device = (opt & OPT_WINVOL) && mount_entry->mnt_volname[0] ? | ||
| 260 | mount_entry->mnt_volname : mount_entry->mnt_fsname; | ||
| 261 | #else | ||
| 251 | device = mount_entry->mnt_fsname; | 262 | device = mount_entry->mnt_fsname; |
| 263 | #endif | ||
| 252 | 264 | ||
| 253 | /* GNU coreutils 6.10 skips certain mounts, try to be compatible */ | 265 | /* GNU coreutils 6.10 skips certain mounts, try to be compatible */ |
| 254 | if (ENABLE_FEATURE_SKIP_ROOTFS && strcmp(device, "rootfs") == 0) | 266 | if (ENABLE_FEATURE_SKIP_ROOTFS && strcmp(device, "rootfs") == 0) |
| @@ -266,6 +278,10 @@ int df_main(int argc UNUSED_PARAM, char **argv) | |||
| 266 | bb_simple_perror_msg(mount_point); | 278 | bb_simple_perror_msg(mount_point); |
| 267 | goto set_error; | 279 | goto set_error; |
| 268 | } | 280 | } |
| 281 | #if ENABLE_PLATFORM_MINGW32 | ||
| 282 | // Trailing slash was needed for statvfs(), strip it for display | ||
| 283 | bs_to_slash_strip_slash(mount_entry->mnt_dir); | ||
| 284 | #endif | ||
| 269 | /* Some uclibc versions were seen to lose f_frsize | 285 | /* Some uclibc versions were seen to lose f_frsize |
| 270 | * (kernel does return it, but then uclibc does not copy it) | 286 | * (kernel does return it, but then uclibc does not copy it) |
| 271 | */ | 287 | */ |
