Deleted Added
full compact
archive_entry_copy_stat.c (228763) archive_entry_copy_stat.c (232153)
1/*-
2 * Copyright (c) 2003-2007 Tim Kientzle
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 10 unchanged lines hidden (view full) ---

19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "archive_platform.h"
1/*-
2 * Copyright (c) 2003-2007 Tim Kientzle
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 10 unchanged lines hidden (view full) ---

19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "archive_platform.h"
27__FBSDID("$FreeBSD: head/contrib/libarchive/libarchive/archive_entry_copy_stat.c 228763 2011-12-21 11:13:29Z mm $");
27__FBSDID("$FreeBSD: head/contrib/libarchive/libarchive/archive_entry_copy_stat.c 232153 2012-02-25 10:58:02Z mm $");
28
29#ifdef HAVE_SYS_STAT_H
30#include <sys/stat.h>
31#endif
32
28
29#ifdef HAVE_SYS_STAT_H
30#include <sys/stat.h>
31#endif
32
33#include "archive.h"
33#include "archive_entry.h"
34
35void
36archive_entry_copy_stat(struct archive_entry *entry, const struct stat *st)
37{
38#if HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
39 archive_entry_set_atime(entry, st->st_atime, st->st_atimespec.tv_nsec);
40 archive_entry_set_ctime(entry, st->st_ctime, st->st_ctimespec.tv_nsec);

--- 13 unchanged lines hidden (view full) ---

54#elif HAVE_STRUCT_STAT_ST_MTIME_USEC
55 archive_entry_set_atime(entry, st->st_atime, st->st_atime_usec * 1000);
56 archive_entry_set_ctime(entry, st->st_ctime, st->st_ctime_usec * 1000);
57 archive_entry_set_mtime(entry, st->st_mtime, st->st_mtime_usec * 1000);
58#else
59 archive_entry_set_atime(entry, st->st_atime, 0);
60 archive_entry_set_ctime(entry, st->st_ctime, 0);
61 archive_entry_set_mtime(entry, st->st_mtime, 0);
34#include "archive_entry.h"
35
36void
37archive_entry_copy_stat(struct archive_entry *entry, const struct stat *st)
38{
39#if HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
40 archive_entry_set_atime(entry, st->st_atime, st->st_atimespec.tv_nsec);
41 archive_entry_set_ctime(entry, st->st_ctime, st->st_ctimespec.tv_nsec);

--- 13 unchanged lines hidden (view full) ---

55#elif HAVE_STRUCT_STAT_ST_MTIME_USEC
56 archive_entry_set_atime(entry, st->st_atime, st->st_atime_usec * 1000);
57 archive_entry_set_ctime(entry, st->st_ctime, st->st_ctime_usec * 1000);
58 archive_entry_set_mtime(entry, st->st_mtime, st->st_mtime_usec * 1000);
59#else
60 archive_entry_set_atime(entry, st->st_atime, 0);
61 archive_entry_set_ctime(entry, st->st_ctime, 0);
62 archive_entry_set_mtime(entry, st->st_mtime, 0);
62#if HAVE_STRUCT_STAT_ST_BIRTHTIME
63 archive_entry_set_birthtime(entry, st->st_birthtime, 0);
64#endif
63#endif
65#endif
66#if HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
67 archive_entry_set_birthtime(entry, st->st_birthtime, st->st_birthtimespec.tv_nsec);
64#if HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
65 archive_entry_set_birthtime(entry, st->st_birthtime, st->st_birthtimespec.tv_nsec);
66#elif HAVE_STRUCT_STAT_ST_BIRTHTIME
67 archive_entry_set_birthtime(entry, st->st_birthtime, 0);
68#else
69 archive_entry_unset_birthtime(entry);
68#endif
69 archive_entry_set_dev(entry, st->st_dev);
70 archive_entry_set_gid(entry, st->st_gid);
71 archive_entry_set_uid(entry, st->st_uid);
72 archive_entry_set_ino(entry, st->st_ino);
73 archive_entry_set_nlink(entry, st->st_nlink);
74 archive_entry_set_rdev(entry, st->st_rdev);
75 archive_entry_set_size(entry, st->st_size);
76 archive_entry_set_mode(entry, st->st_mode);
77}
70#endif
71 archive_entry_set_dev(entry, st->st_dev);
72 archive_entry_set_gid(entry, st->st_gid);
73 archive_entry_set_uid(entry, st->st_uid);
74 archive_entry_set_ino(entry, st->st_ino);
75 archive_entry_set_nlink(entry, st->st_nlink);
76 archive_entry_set_rdev(entry, st->st_rdev);
77 archive_entry_set_size(entry, st->st_size);
78 archive_entry_set_mode(entry, st->st_mode);
79}