Fix a incompatible pointer warning on NetBSD

This commit is contained in:
Akira TAGOH 2013-06-27 13:10:27 +09:00
parent 8603e58695
commit 38ab7ab2fb
2 changed files with 39 additions and 0 deletions

View File

@ -161,6 +161,35 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([[
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_POSIX_FADVISE], [1], [Define to 1 if you have the 'posix_fadvise' function.])
],[AC_MSG_RESULT([no])])
AC_MSG_CHECKING([for scandir])
AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <dirent.h>
int comp(const struct dirent **, const struct dirent **);
int comp(const struct dirent **a, const struct dirent **b) { return 0; }
int main(void) {
struct dirent **d;
return scandir(".", &d, 0, &comp) >= 0;
}
]])],[
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
],[
AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <dirent.h>
int comp(const void *, const void *);
int comp(const void *a, const void *b) { return 0; }
int main(void) {
struct dirent **d;
return scandir(".", &d, 0, &comp) >= 0;
}
]])],[
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
],[
AC_MSG_ERROR([
*** No scandir function available.])
])
])
CFLAGS="$fc_saved_CFLAGS"
#

View File

@ -164,11 +164,21 @@ FcDirChecksumScandirFilter(const struct dirent *entry)
}
#endif
#ifdef HAVE_SCANDIR
static int
FcDirChecksumScandirSorter(const struct dirent **lhs, const struct dirent **rhs)
{
return strcmp((*lhs)->d_name, (*rhs)->d_name);
}
#elif HAVE_SCANDIR_VOID_P
static int
FcDirChecksumScandirSorter(const void *a, const void *b)
{
const struct dirent *lhs = a, *rhs = b;
return strcmp(lhs->d_name, rhs->d_name);
}
#endif
static int
FcDirChecksum (const FcChar8 *dir, time_t *checksum)