aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-02 15:24:04 +0000
committerngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-02 15:24:04 +0000
commit09f51c56d8c07ef787647f58b1135145980dd59f (patch)
tree682a4f5676e7b4eda6071594b0dae9fdbc71c751
parent1388beb195d249c89357b84da3a6c87a8efcaf71 (diff)
downloadruby-09f51c56d8c07ef787647f58b1135145980dd59f.tar.gz
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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