diff --git a/src/modules/files/configure.in b/src/modules/files/configure.in index d3c840e8ca556453c929920bc8b106a72b319848..96d80ac94922e405c323fd2e4a9a753b54bb07c8 100644 --- a/src/modules/files/configure.in +++ b/src/modules/files/configure.in @@ -135,6 +135,7 @@ int main() AC_MSG_CHECKING(if the struct statfs has the member f_bavail) AC_CACHE_VAL(pike_cv_struct_statfs_f_bavail, [ AC_TRY_COMPILE([ +#include <sys/stat.h> #ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c index 9f146bb4751b981d0212b519a3001cd871902259..2f752643d7ad0f4214754ffd872f86bccf2d4e84 100644 --- a/src/modules/files/efuns.c +++ b/src/modules/files/efuns.c @@ -189,11 +189,9 @@ void f_filesystem_stat(INT32 args) push_int(st.f_blocks); push_text("bfree"); push_int(st.f_bfree); - push_text("bavail"); #ifdef HAVE_STATFS_F_BAVAIL + push_text("bavail"); push_int(st.f_bavail); -#else - push_int(st.f_bfree); #endif /* HAVE_STATFS_F_BAVAIL */ push_text("files"); push_int(st.f_files); @@ -201,7 +199,11 @@ void f_filesystem_stat(INT32 args) push_int(st.f_ffree); push_text("favail"); push_int(st.f_ffree); +#ifdef HAVE_STATFS_F_BAVAIL f_aggregate_mapping(7*2); +#else + f_aggregate_mapping(6*2); +#endif /* HAVE_STATFS_F_BAVAIL */ #else #ifdef HAVE_USTAT push_text("bfree");