From 57b5302eeb77c0d27f56e5b63b40dda2f561d75b Mon Sep 17 00:00:00 2001
From: Eric Berge <ericmberge@gmail.com>
Date: Tue, 20 May 2014 11:48:57 -0500
Subject: [PATCH] HPUX compilation fix

---
 Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
index 80389ee..9754204 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
@@ -2870,6 +2870,14 @@ set_time_tru64(int fd, int mode, const char *name,
     time_t ctime, long ctime_nsec)
 {
 	struct attr_timbuf tstamp;
+#if defined (__hpux) && defined (__ia64)
+        tstamp.atime.tv_sec = atime;
+        tstamp.atime.tv_nsec = atime_nsec;
+        tstamp.mtime.tv_sec = mtime;
+        tstamp.mtime.tv_nsec = mtime_nsec;
+        tstamp.ctime.tv_sec = ctime;
+        tstamp.ctime.tv_nsec = ctime_nsec;
+#else
 	struct timeval times[3];
 	times[0].tv_sec = atime;
 	times[0].tv_usec = atime_nsec / 1000;
@@ -2880,6 +2888,7 @@ set_time_tru64(int fd, int mode, const char *name,
 	tstamp.atime = times[0];
 	tstamp.mtime = times[1];
 	tstamp.ctime = times[2];
+#endif
 	return (fcntl(fd,F_SETTIMES,&tstamp));
 }
 #endif /* Tru64 */
-- 
1.8.2.1

