diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c index f1d32cf51ff1a5a6ff71e6662af6ffd6d212f406..9f146bb4751b981d0212b519a3001cd871902259 100644 --- a/src/modules/files/efuns.c +++ b/src/modules/files/efuns.c @@ -140,7 +140,11 @@ void f_filesystem_stat(INT32 args) i = statvfs(s, &st); #else #ifdef HAVE_STATFS +#ifdef HAVE_SGI_STATFS + i = statfs(s, &st, sizeof(st), 0); +#else i = statfs(s, &st); +#endif /* HAVE_SGI_STATFS */ #else #ifdef HAVE_USTAT if (!(i = stat(s, &statbuf))) { @@ -186,7 +190,11 @@ void f_filesystem_stat(INT32 args) push_text("bfree"); push_int(st.f_bfree); push_text("bavail"); +#ifdef HAVE_STATFS_F_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); push_text("ffree");