diff options
author | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2005-08-31 12:32:14 +0000 |
---|---|---|
committer | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2005-08-31 12:32:14 +0000 |
commit | ca2eb4bc44c16a2e300b5bcba3e2b0149e600de3 (patch) | |
tree | d13ab455e127b436e572fb328287e3fc7e7d45ef /configure.in | |
parent | 2cd583370fb3d67588229e6e145c1d4d154bd210 (diff) | |
download | libapr-ca2eb4bc44c16a2e300b5bcba3e2b0149e600de3.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: http://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 |