diff options
author | kientzle <kientzle@FreeBSD.org> | 2008-09-30 03:57:07 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2008-09-30 03:57:07 +0000 |
commit | c7ce068f95b1e5db58283cf3ac1f5d8248816409 (patch) | |
tree | e09025ce7e6a7835b807010627299711eeb4394b /lib/libarchive/archive_write_set_format_pax.c | |
parent | 6902e811f60327dce35d2068d05d85a3c7a345c4 (diff) | |
download | FreeBSD-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.c | 9 |
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') |