I was just working with ext/standard/filestat.c under FreeBSD.
FreeBSD defines statfs(2) in <sys/mount.h> (not <sys/statfs.h>),
so while autoconf determines that statfs(2) is available, it
fails to locate <sys/statfs.h>, and the following dependencies
fail:

#if defined(HAVE_SYS_STATVFS_H) && defined(HAVE_STATVFS)
        struct statvfs buf;
#elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
        struct statfs buf;
#endif

In the FreeBSD case, statfs is available but not used.

I fixed this problem locally by removing some of the tests for
'defined(HAVE_SYS_STATFS_H)' and including <sys/mount.h>.

I would like to commit this fix so that functions like
diskfreespace() and my proposed disktotalspace() return correct
results.

Would the best way of fixing this problem be to do the above and
include <sys/mount.h> conditionally under FreeBSD?

Also note that this problem is also addressed in the user note on
the diskfreespace() manual page:

    http://www.php.net/manual/en/function.diskfreespace.php

-- 
Jon Parise ([EMAIL PROTECTED])  .  Rochester Inst. of Technology
http://www.csh.rit.edu/~jon/  :  Computer Science House Member

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to