s3:lib/system fix build on AIX 7
authorChristian Ambach <ambi@samba.org>
Thu, 20 Jun 2013 16:27:13 +0000 (18:27 +0200)
committerVolker Lendecke <vl@samba.org>
Fri, 2 Aug 2013 07:47:43 +0000 (09:47 +0200)
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

source3/lib/system.c

index 8dbf7dc33bc2ab954c494a559fd3d3876e18621b..8252e4fcfc925d542ebc98ba4555655fe2111291 100644 (file)
@@ -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;