summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/archive_write_set_format_pax.c
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2008-09-30 03:57:07 +0000
committerkientzle <kientzle@FreeBSD.org>2008-09-30 03:57:07 +0000
commitc7ce068f95b1e5db58283cf3ac1f5d8248816409 (patch)
treee09025ce7e6a7835b807010627299711eeb4394b /lib/libarchive/archive_write_set_format_pax.c
parent6902e811f60327dce35d2068d05d85a3c7a345c4 (diff)
downloadFreeBSD-src-c7ce068f95b1e5db58283cf3ac1f5d8248816409.zip
FreeBSD-src-c7ce068f95b1e5db58283cf3ac1f5d8248816409.tar.gz
MfP4: Store/read birthtime data in pax format.
Submitted by: Pedro Giffuni MFC after: 30 days
Diffstat (limited to 'lib/libarchive/archive_write_set_format_pax.c')
-rw-r--r--lib/libarchive/archive_write_set_format_pax.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/libarchive/archive_write_set_format_pax.c b/lib/libarchive/archive_write_set_format_pax.c
index 001e0a2..621e568 100644
--- a/lib/libarchive/archive_write_set_format_pax.c
+++ b/lib/libarchive/archive_write_set_format_pax.c
@@ -762,6 +762,15 @@ archive_write_pax_header(struct archive_write *a,
archive_entry_atime(entry_main),
archive_entry_atime_nsec(entry_main));
+ /* Store birth/creationtime only if it's earlier than mtime */
+ if (archive_entry_birthtime_is_set(entry_main) &&
+ archive_entry_birthtime(entry_main)
+ < archive_entry_mtime(entry_main))
+ add_pax_attr_time(&(pax->pax_header),
+ "LIBARCHIVE.creationtime",
+ archive_entry_birthtime(entry_main),
+ archive_entry_birthtime_nsec(entry_main));
+
/* I use a star-compatible file flag attribute. */
p = archive_entry_fflags_text(entry_main);
if (p != NULL && *p != '\0')
OpenPOWER on IntegriCloud