Platforms differ on what their implementations of statfs include.
Importantly, FreeBSD's does not include a f_frsize member inside struct
statfs. However, statvfs is specified by POSIX and includes everything
we need, so we can just use that instead.

Signed-off-by: James Clarke <jrt...@jrtc27.com>
---
 coreutils/df.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/coreutils/df.c b/coreutils/df.c
index 121da970b..4076b5fec 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -77,7 +77,7 @@
 //usage:       "/dev/sda3             17381728  17107080    274648      98% 
/\n"
 
 #include <mntent.h>
-#include <sys/vfs.h>
+#include <sys/statvfs.h>
 #include "libbb.h"
 #include "unicode.h"
 
@@ -98,7 +98,7 @@ int df_main(int argc UNUSED_PARAM, char **argv)
        unsigned opt;
        FILE *mount_table;
        struct mntent *mount_entry;
-       struct statfs s;
+       struct statvfs s;
 
        enum {
                OPT_KILO  = (1 << 0),
@@ -211,7 +211,7 @@ int df_main(int argc UNUSED_PARAM, char **argv)
                mount_point = mount_entry->mnt_dir;
                fs_type = mount_entry->mnt_type;
 
-               if (statfs(mount_point, &s) != 0) {
+               if (statvfs(mount_point, &s) != 0) {
                        bb_simple_perror_msg(mount_point);
                        goto set_error;
                }
-- 
2.14.1

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to