summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in3
-rw-r--r--file_io/unix/filestat.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index f5b5b7be3..b7153caaf 100644
--- a/configure.in
+++ b/configure.in
@@ -1955,7 +1955,8 @@ dnl ----------------------------- Checking for File Info Support
echo "${nl}Checking for File Info Support..."
AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_atimensec,
struct stat.st_ctimensec, struct stat.st_mtimensec, struct stat.st_atim.tv_nsec,
-struct stat.st_ctim.tv_nsec, struct stat.st_mtim.tv_nsec],,,[
+struct stat.st_ctim.tv_nsec, struct stat.st_mtim.tv_nsec,
+struct stat.st_atime_n, struct stat.st_ctime_n, struct stat.st_mtime_n],,,[
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
diff --git a/file_io/unix/filestat.c b/file_io/unix/filestat.c
index 63dbf4d90..9bee65112 100644
--- a/file_io/unix/filestat.c
+++ b/file_io/unix/filestat.c
@@ -94,6 +94,8 @@ static void fill_out_finfo(apr_finfo_t *finfo, struct_stat *info,
finfo->atime += info->st_atim.tv_nsec / APR_TIME_C(1000);
#elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC)
finfo->atime += info->st_atimensec / APR_TIME_C(1000);
+#elif defined(HAVE_STRUCT_STAT_ST_ATIME_N)
+ finfo->ctime += info->st_atime_n / APR_TIME_C(1000);
#endif
apr_time_ansi_put(&finfo->mtime, info->st_mtime);
@@ -101,6 +103,8 @@ static void fill_out_finfo(apr_finfo_t *finfo, struct_stat *info,
finfo->mtime += info->st_mtim.tv_nsec / APR_TIME_C(1000);
#elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
finfo->mtime += info->st_mtimensec / APR_TIME_C(1000);
+#elif defined(HAVE_STRUCT_STAT_ST_MTIME_N)
+ finfo->ctime += info->st_mtime_n / APR_TIME_C(1000);
#endif
apr_time_ansi_put(&finfo->ctime, info->st_ctime);
@@ -108,6 +112,8 @@ static void fill_out_finfo(apr_finfo_t *finfo, struct_stat *info,
finfo->ctime += info->st_ctim.tv_nsec / APR_TIME_C(1000);
#elif defined(HAVE_STRUCT_STAT_ST_CTIMENSEC)
finfo->ctime += info->st_ctimensec / APR_TIME_C(1000);
+#elif defined(HAVE_STRUCT_STAT_ST_CTIME_N)
+ finfo->ctime += info->st_ctime_n / APR_TIME_C(1000);
#endif
#ifdef HAVE_STRUCT_STAT_ST_BLOCKS