diff options
author | Joe Orton <jorton@apache.org> | 2005-08-31 12:32:14 +0000 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2005-08-31 12:32:14 +0000 |
commit | cd286b7d50145cee81f3167f082a20c1695b42bf (patch) | |
tree | d13ab455e127b436e572fb328287e3fc7e7d45ef /configure.in | |
parent | 8b5b30a69a43fd4a6ec926113678f1e83c8a1c36 (diff) | |
download | apr-cd286b7d50145cee81f3167f082a20c1695b42bf.tar.gz |
Add some workarounds for cases where readdir_r fails due to large
integers in struct dirent's d_ino or d_off fields in LFS builds (seen
in some peculiar NFS environments):
* configure.in: Check for readdir64_r for LFS builds.
* include/arch/unix/apr_arch_file_io.h (struct apr_dir_t): Use struct
dirent64 for entry field if readdir64_r is present.
* file_io/unix/dir.c (apr_dir_open): Use size of the entry field.
(apr_dir_read): Use readdir64_r if available; check for d_ino
overflow.
* file_io/unix/filestat.c (fill_out_finfo): Check for inode number
overflow.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@265032 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.in b/configure.in index 5d93ffce2..579fecf54 100644 --- a/configure.in +++ b/configure.in @@ -1258,7 +1258,7 @@ APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8) if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then # Enable LFS aprlfs=1 - AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 mkstemp64]) + AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 mkstemp64 readdir64_r]) else aprlfs=0 fi |