st = &s;
}
archive_entry_copy_stat(entry, st);
+ /* Lookup uname/gname */
+ name = archive_read_disk_uname(_a, archive_entry_uid(entry));
+ if (name != NULL)
+ archive_entry_copy_uname(entry, name);
+ name = archive_read_disk_gname(_a, archive_entry_gid(entry));
+ if (name != NULL)
+ archive_entry_copy_gname(entry, name);
}
- /* Lookup uname/gname */
- name = archive_read_disk_uname(_a, archive_entry_uid(entry));
- if (name != NULL)
- archive_entry_copy_uname(entry, name);
- name = archive_read_disk_gname(_a, archive_entry_gid(entry));
- if (name != NULL)
- archive_entry_copy_gname(entry, name);
-
#ifdef HAVE_STRUCT_STAT_ST_FLAGS
/* On FreeBSD, we get flags for free with the stat. */
/* TODO: Does this belong in copy_stat()? */
struct tree *t;
const struct stat *st; /* info to use for this entry */
const struct stat *lst;/* lstat() information */
+ const char *name;
int descend, fd = -1, r;
archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC,
t->descend = descend;
archive_entry_copy_stat(entry, st);
+ /* Lookup uname/gname */
+ name = archive_read_disk_uname(_a, archive_entry_uid(entry));
+ if (name != NULL)
+ archive_entry_copy_uname(entry, name);
+ name = archive_read_disk_gname(_a, archive_entry_gid(entry));
+ if (name != NULL)
+ archive_entry_copy_gname(entry, name);
+ /* Invoke a filter callback. */
if (a->time_filter_func) {
if (!a->time_filter_func(_a, a->time_filter_data, entry)) {
- archive_entry_unset_atime(entry);
- archive_entry_unset_birthtime(entry);
- archive_entry_unset_ctime(entry);
- archive_entry_unset_mtime(entry);
+ archive_entry_clear(entry);
goto next_entry;
}
}
#if defined(HAVE_STRUCT_STAT_ST_FLAGS) && defined(UF_NODUMP)
if (a->honor_nodump) {
if (st->st_flags & UF_NODUMP) {
- archive_entry_unset_atime(entry);
- archive_entry_unset_birthtime(entry);
- archive_entry_unset_ctime(entry);
- archive_entry_unset_mtime(entry);
+ archive_entry_clear(entry);
goto next_entry;
}
}
unsigned long flags, clear;
archive_entry_fflags(entry, &flags, &clear);
if (flags & EXT2_NODUMP_FL) {
- archive_entry_unset_atime(entry);
- archive_entry_unset_birthtime(entry);
- archive_entry_unset_ctime(entry);
- archive_entry_unset_mtime(entry);
+ archive_entry_clear(entry);
goto next_entry;
}
}
t->descend = descend;
tree_archive_entry_copy_bhfi(entry, t, st);
+ /* Lookup uname/gname */
+ name = archive_read_disk_uname(_a, archive_entry_uid(entry));
+ if (name != NULL)
+ archive_entry_copy_uname(entry, name);
+ name = archive_read_disk_gname(_a, archive_entry_gid(entry));
+ if (name != NULL)
+ archive_entry_copy_gname(entry, name);
+ /* Invoke a filter callback. */
if (a->time_filter_func) {
if (!a->time_filter_func(_a, a->time_filter_data, entry)) {
- archive_entry_unset_atime(entry);
- archive_entry_unset_birthtime(entry);
- archive_entry_unset_ctime(entry);
- archive_entry_unset_mtime(entry);
+ archive_entry_clear(entry);
goto next_entry;
}
}
t->restore_time.lastAccessTime = st->ftLastAccessTime;
t->restore_time.filetype = archive_entry_filetype(entry);
- /* Lookup uname/gname */
- name = archive_read_disk_uname(_a, archive_entry_uid(entry));
- if (name != NULL)
- archive_entry_copy_uname(entry, name);
- name = archive_read_disk_gname(_a, archive_entry_gid(entry));
- if (name != NULL)
- archive_entry_copy_gname(entry, name);
-
r = ARCHIVE_OK;
if (archive_entry_filetype(entry) == AE_IFREG &&
archive_entry_size(entry) > 0) {