http://bugs.gentoo.org/256784 From 6f74a20a3002280f23033dea64d7186896d0dfc0 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Sat, 30 Aug 2008 18:31:21 +0000 Subject: [PATCH] * configure.in: Check if the stat structure has a st_atim or st_atimensec field. * libmisc/copydir.c: Conditionally use the stat's st_atim and st_atimensec fields. git-svn-id: svn://svn.debian.org/pkg-shadow/upstream/trunk@2298 5a98b0ae-9ef6-0310-add3-de5d479b70d7 --- ChangeLog | 4 ++++ libmisc/copydir.c | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) + * configure.in: Check if the stat structure has a st_atim or + st_atimensec field. + * libmisc/copydir.c: Conditionally use the stat's st_atim and + st_atimensec fields. diff --git a/libmisc/copydir.c b/libmisc/copydir.c index b887303..cdd2037 100644 --- a/libmisc/copydir.c +++ b/libmisc/copydir.c @@ -288,16 +288,21 @@ static int copy_entry (const char *src, const char *dst, if (LSTAT (src, &sb) == -1) { /* If we cannot stat the file, do not care. */ } else { -#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) +#ifdef HAVE_STRUCT_STAT_ST_ATIM mt[0].tv_sec = sb.st_atim.tv_sec; mt[0].tv_usec = sb.st_atim.tv_nsec / 1000; mt[1].tv_sec = sb.st_mtim.tv_sec; mt[1].tv_usec = sb.st_mtim.tv_nsec / 1000; #else mt[0].tv_sec = sb.st_atime; - mt[0].tv_usec = sb.st_atimensec / 1000; mt[1].tv_sec = sb.st_mtime; +#ifdef HAVE_STRUCT_STAT_ST_ATIMENSEC + mt[0].tv_usec = sb.st_atimensec / 1000; mt[1].tv_usec = sb.st_mtimensec / 1000; +#else + mt[0].tv_usec = 0; + mt[1].tv_usec = 0; +#endif #endif if (S_ISDIR (sb.st_mode)) { -- 1.6.1.2