Make sure we have struct statfs before using.
This commit is contained in:
parent
2912596aec
commit
d561b0b2fa
|
@ -3751,7 +3751,7 @@ AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [
|
|||
#endif
|
||||
])
|
||||
|
||||
AC_CHECK_MEMBERS([struct statfs.f_flags], [], [], [[
|
||||
AC_CHECK_MEMBERS([struct statfs.f_files, struct statfs.f_flags], [], [], [[
|
||||
#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_BITYPES_H
|
||||
#include <sys/bitypes.h>
|
||||
|
|
|
@ -29,6 +29,11 @@
|
|||
# define MNAMELEN 32
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRUCT_STATFS_F_FILES
|
||||
# define HAVE_STRUCT_STATFS
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRUCT_STATFS
|
||||
static void
|
||||
copy_statfs_to_statvfs(struct statvfs *to, struct statfs *from)
|
||||
{
|
||||
|
@ -48,11 +53,12 @@ copy_statfs_to_statvfs(struct statvfs *to, struct statfs *from)
|
|||
#endif
|
||||
to->f_namemax = MNAMELEN;
|
||||
}
|
||||
#endif
|
||||
|
||||
# ifndef HAVE_STATVFS
|
||||
int statvfs(const char *path, struct statvfs *buf)
|
||||
{
|
||||
# ifdef HAVE_STATFS
|
||||
# if defined(HAVE_STATFS) && defined(HAVE_STRUCT_STATFS)
|
||||
struct statfs fs;
|
||||
|
||||
memset(&fs, 0, sizeof(fs));
|
||||
|
@ -70,7 +76,7 @@ int statvfs(const char *path, struct statvfs *buf)
|
|||
# ifndef HAVE_FSTATVFS
|
||||
int fstatvfs(int fd, struct statvfs *buf)
|
||||
{
|
||||
# ifdef HAVE_FSTATFS
|
||||
# if defined(HAVE_FSTATFS) && defined(HAVE_STRUCT_STATFS)
|
||||
struct statfs fs;
|
||||
|
||||
memset(&fs, 0, sizeof(fs));
|
||||
|
|
Loading…
Reference in New Issue