diff options
author | kientzle <kientzle@FreeBSD.org> | 2008-09-30 03:53:03 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2008-09-30 03:53:03 +0000 |
commit | 6902e811f60327dce35d2068d05d85a3c7a345c4 (patch) | |
tree | 7902e535fed29fc4c3fc23e05146625461053f86 /lib/libarchive/archive_entry.c | |
parent | 51dc1b851d697c82dd725789e7d2d156f445b980 (diff) | |
download | FreeBSD-src-6902e811f60327dce35d2068d05d85a3c7a345c4.zip FreeBSD-src-6902e811f60327dce35d2068d05d85a3c7a345c4.tar.gz |
MfP4: Support for storing birthtime in archive_entry objects.
Submitted by: Pedro Giffuni
MFC after: 30 days
Diffstat (limited to 'lib/libarchive/archive_entry.c')
-rw-r--r-- | lib/libarchive/archive_entry.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/libarchive/archive_entry.c b/lib/libarchive/archive_entry.c index aaf1c95..28054a9 100644 --- a/lib/libarchive/archive_entry.c +++ b/lib/libarchive/archive_entry.c @@ -461,6 +461,24 @@ archive_entry_atime_is_set(struct archive_entry *entry) } time_t +archive_entry_birthtime(struct archive_entry *entry) +{ + return (entry->ae_stat.aest_birthtime); +} + +long +archive_entry_birthtime_nsec(struct archive_entry *entry) +{ + return (entry->ae_stat.aest_birthtime_nsec); +} + +int +archive_entry_birthtime_is_set(struct archive_entry *entry) +{ + return (entry->ae_set & AE_SET_BIRTHTIME); +} + +time_t archive_entry_ctime(struct archive_entry *entry) { return (entry->ae_stat.aest_ctime); @@ -838,6 +856,22 @@ archive_entry_unset_atime(struct archive_entry *entry) } void +archive_entry_set_birthtime(struct archive_entry *entry, time_t m, long ns) +{ + entry->stat_valid = 0; + entry->ae_set |= AE_SET_BIRTHTIME; + entry->ae_stat.aest_birthtime = m; + entry->ae_stat.aest_birthtime_nsec = ns; +} + +void +archive_entry_unset_birthtime(struct archive_entry *entry) +{ + archive_entry_set_birthtime(entry, 0, 0); + entry->ae_set &= ~AE_SET_BIRTHTIME; +} + +void archive_entry_set_ctime(struct archive_entry *entry, time_t t, long ns) { entry->stat_valid = 0; |