Skip to content

Commit

Permalink
df: Use statvfs instead of non-standard statfs
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jrtc27 authored and Denys Vlasenko committed Oct 30, 2017
1 parent 24e17b4 commit d153521
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions coreutils/df.c
Expand Up @@ -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"

Expand All @@ -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),
Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit d153521

Please sign in to comment.