From d1535216ca27047e3962d61b975bd2a638aa45a2 Mon Sep 17 00:00:00 2001
From: James Clarke <jrtc27@jrtc27.com>
Date: Sat, 7 Oct 2017 18:53:20 +0100
Subject: df: Use statvfs instead of non-standard statfs

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 <jrtc27@jrtc27.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.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;
 		}
-- 
cgit v1.2.3