aboutsummaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-04-22 14:57:18 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-04-22 14:57:18 +0000
commit900ede40532640376f7a2ee359e70df2a546e060 (patch)
treee6c58c3a59473f197204c77e5b865789bafcd31c /file.c
parenta197581765fa78c848f3d49233f47ec2e8fc90c0 (diff)
downloadruby-900ede40532640376f7a2ee359e70df2a546e060.tar.gz
* file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable.
* configure.in (fstatfs): check it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r--file.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/file.c b/file.c
index 8fe3796835..a8ac67eb4a 100644
--- a/file.c
+++ b/file.c
@@ -1120,7 +1120,12 @@ rb_io_statfs(VALUE obj)
struct statfs st;
GetOpenFile(obj, fptr);
- if (fstatfs(fptr->fd, &st) == -1) {
+#ifdef HAVE_FSTATFS
+ if (fstatfs(fptr->fd, &st) == -1)
+#else
+ if (statfs(RSTRING_PTR(fptr->pathv), &st) == -1)
+#endif
+ {
rb_sys_fail_path(fptr->pathv);
}
return rb_statfs_new(&st);