]> granicus.if.org Git - php/commitdiff
@ - Fix disk_free_space() and disk_total_space() under FreeBSD. (jon)
authorJon Parise <jon@php.net>
Tue, 22 May 2001 02:45:04 +0000 (02:45 +0000)
committerJon Parise <jon@php.net>
Tue, 22 May 2001 02:45:04 +0000 (02:45 +0000)
FreeBSD defines statfs(2) in <sys/mount.h>.  Teach PHP to look for it there.

configure.in
ext/standard/filestat.c

index 4a2e341cef66634a68a5fc8539ee7eed3d6472c7..b094b792ca96eeba3951c9da801e37239adcaa10 100644 (file)
@@ -303,6 +303,7 @@ syslog.h \
 sysexits.h \
 sys/file.h \
 sys/mman.h \
+sys/mount.h \
 sys/resource.h \
 sys/select.h \
 sys/socket.h \
index ee19e0ceb2937092bc88d887c67f319ee876fed6..c7004034630375cca1744e854daf5ab2e79c724e 100644 (file)
@@ -43,6 +43,8 @@
 # include <sys/statvfs.h>
 #elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
 # include <sys/statfs.h>
+#elif defined(HAVE_SYS_MOUNT_H) && defined(HAVE_STATFS)
+# include <sys/mount.h>
 #endif
 
 #if HAVE_PWD_H
@@ -151,7 +153,7 @@ PHP_FUNCTION(disk_total_space)
 #else /* not - WINDOWS */
 #if defined(HAVE_SYS_STATVFS_H) && defined(HAVE_STATVFS)
        struct statvfs buf;
-#elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
+#elif (defined(HAVE_SYS_STATFS_H) || defined(HAVE_SYS_MOUNT_H)) && defined(HAVE_STATFS)
        struct statfs buf;
 #endif
        double bytestotal = 0;
@@ -215,7 +217,7 @@ PHP_FUNCTION(disk_total_space)
                bytestotal = (((double)buf.f_blocks) * ((double)buf.f_bsize));
        }
 
-#elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
+#elif (defined(HAVE_SYS_STATFS_H) || defined(HAVE_SYS_MOUNT_H)) && defined(HAVE_STATFS)
        if (statfs((*path)->value.str.val,&buf)) RETURN_FALSE;
        bytestotal = (((double)buf.f_bsize) * ((double)buf.f_blocks));
 #endif
@@ -252,7 +254,7 @@ PHP_FUNCTION(disk_free_space)
 #else /* not - WINDOWS */
 #if defined(HAVE_SYS_STATVFS_H) && defined(HAVE_STATVFS)
        struct statvfs buf;
-#elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
+#elif (defined(HAVE_SYS_STATFS_H) || defined(HAVE_SYS_MOUNT_H)) && defined(HAVE_STATFS)
        struct statfs buf;
 #endif
        double bytesfree = 0;
@@ -315,7 +317,7 @@ PHP_FUNCTION(disk_free_space)
        } else {
                bytesfree = (((double)buf.f_bavail) * ((double)buf.f_bsize));
        }
-#elif defined(HAVE_SYS_STATFS_H) && defined(HAVE_STATFS)
+#elif (defined(HAVE_SYS_STATFS_H) || defined(HAVE_SYS_MOUNT_H)) && defined(HAVE_STATFS)
        if (statfs((*path)->value.str.val,&buf)) RETURN_FALSE;
        bytesfree = (((double)buf.f_bsize) * ((double)buf.f_bavail));
 #endif