aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--configure.in5
-rw-r--r--file.c5
3 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 61e1572f70..350717663c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sat May 3 00:06:30 2014 Naohisa Goto <ngotogenome@gmail.com>
+
+ * file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename
+ is supported on AIX, HP-UX, and Solaris, by using the value of
+ struct statvfs.f_basetype.
+
+ * configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct
+ statvfs.f_basetype which is available on AIX, HP-UX, and Solaris.
+
Fri May 2 21:04:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (next_id): no reason to set ID_STATIC_SYM here, as ID
diff --git a/configure.in b/configure.in
index 29ae4f6c37..1258daac42 100644
--- a/configure.in
+++ b/configure.in
@@ -1746,9 +1746,12 @@ AC_CHECK_MEMBERS([struct statfs.f_type, struct statfs.f_fstypename], [], [], [@%
@%:@ include <sys/vfs.h>
@%:@endif])
])
-# NetBSD
+# AIX, HP-UX, NetBSD, Solaris
AC_CHECK_TYPES([struct statvfs], [], [], [@%:@ include <sys/statvfs.h>])
+# NetBSD
AC_CHECK_MEMBERS([struct statvfs.f_fstypename], [], [], [@%:@ include <sys/statvfs.h>])
+# AIX, HP-UX, Solaris
+AC_CHECK_MEMBERS([struct statvfs.f_basetype], [], [], [@%:@ include <sys/statvfs.h>])
AC_CHECK_TYPES([clockid_t], [], [], [@%:@ifdef HAVE_TIME_H
@%:@ include <time.h>
diff --git a/file.c b/file.c
index 4edfdeaa7a..dcadfa2da7 100644
--- a/file.c
+++ b/file.c
@@ -87,8 +87,11 @@ typedef struct statvfs statfs_t;
# ifdef HAVE_FSTATVFS
# define FSTATFS(f, s) fstatvfs((f), (s))
# endif
-# ifdef HAVE_STRUCT_STATVFS_F_FSTYPENAME
+# if defined(HAVE_STRUCT_STATVFS_F_FSTYPENAME) /* NetBSD */
# define HAVE_STRUCT_STATFS_T_F_FSTYPENAME 1
+# elif defined(HAVE_STRUCT_STATVFS_F_BASETYPE) /* AIX, HP-UX, Solaris */
+# define HAVE_STRUCT_STATFS_T_F_FSTYPENAME 1
+# define f_fstypename f_basetype
# endif
# ifdef HAVE_STRUCT_STATVFS_F_TYPE
# define HAVE_STRUCT_STATFS_T_F_TYPE 1