Fix build issue on Debian/kFreeBSD 7.0
authorAkira TAGOH <akira@tagoh.org>
Mon, 21 Oct 2013 02:50:55 +0000 (11:50 +0900)
committerAkira TAGOH <akira@tagoh.org>
Mon, 21 Oct 2013 02:50:55 +0000 (11:50 +0900)
There are posix_fadvise(2) but not POSIX_FADV_WILLNEED.
Patch from Ryo ONODERA.

src/fccache.c

index 3568595..c7f2437 100644 (file)
@@ -28,6 +28,7 @@
 #include <dirent.h>
 #include <string.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 #include <assert.h>
 #if defined(HAVE_MMAP) || defined(__CYGWIN__)
 #  include <unistd.h>
@@ -572,7 +573,7 @@ FcDirCacheMapFd (int fd, struct stat *fd_stat, struct stat *dir_stat)
     {
 #if defined(HAVE_MMAP) || defined(__CYGWIN__)
        cache = mmap (0, fd_stat->st_size, PROT_READ, MAP_SHARED, fd, 0);
-#ifdef HAVE_POSIX_FADVISE
+#if defined(HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED)
        posix_fadvise (fd, 0, fd_stat->st_size, POSIX_FADV_WILLNEED);
 #endif
        if (cache == MAP_FAILED)