summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorChristian Ambach <ambi@samba.org>2013-06-20 18:27:13 +0200
committerKarolin Seeger <kseeger@samba.org>2013-08-20 10:52:15 +0200
commit7af0c4fb88cced5eebd5680d9b0d4b3e9c79b318 (patch)
tree5e3354ca883732336552e7c362d8554328c7240c /source3/lib
parent11954a44d28bd4dd44397dbaab87098d51530116 (diff)
downloadsamba-7af0c4fb88cced5eebd5680d9b0d4b3e9c79b318.tar.gz
s3:lib/system fix build on AIX 7
AIX uses struct stat64 with struct timespec64, so direct assignment does not work any more. Pair-Programmed-With: Volker Lendecke <vl@samba.org> Signed-off-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Fri Aug 2 09:47:43 CEST 2013 on sn-devel-104 (cherry picked from commit ba40d0d9d320e500621a6a8107a2ef0a34aeb6ba)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/system.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 8dbf7dc33b..8252e4fcfc 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -228,7 +228,10 @@ static struct timespec get_atimespec(const struct stat *pst)
return ret;
#else
#if defined(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
- return pst->st_atim;
+ struct timespec ret;
+ ret.tv_sec = pst->st_atim.tv_sec;
+ ret.tv_nsec = pst->st_atim.tv_nsec;
+ return ret;
#elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
struct timespec ret;
ret.tv_sec = pst->st_atime;
@@ -263,7 +266,10 @@ static struct timespec get_mtimespec(const struct stat *pst)
return ret;
#else
#if defined(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
- return pst->st_mtim;
+ struct timespec ret;
+ ret.tv_sec = pst->st_mtim.tv_sec;
+ ret.tv_nsec = pst->st_mtim.tv_nsec;
+ return ret;
#elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
struct timespec ret;
ret.tv_sec = pst->st_mtime;
@@ -298,7 +304,10 @@ static struct timespec get_ctimespec(const struct stat *pst)
return ret;
#else
#if defined(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
- return pst->st_ctim;
+ struct timespec ret;
+ ret.tv_sec = pst->st_ctim.tv_sec;
+ ret.tv_nsec = pst->st_ctim.tv_nsec;
+ return ret;
#elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
struct timespec ret;
ret.tv_sec = pst->st_ctime;