aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archival/libunarchive/data_extract_all.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/archival/libunarchive/data_extract_all.c b/archival/libunarchive/data_extract_all.c
index a2dfcb9e1..444770d27 100644
--- a/archival/libunarchive/data_extract_all.c
+++ b/archival/libunarchive/data_extract_all.c
@@ -114,9 +114,8 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
114 } 114 }
115 115
116 if (!(archive_handle->ah_flags & ARCHIVE_NOPRESERVE_OWN)) { 116 if (!(archive_handle->ah_flags & ARCHIVE_NOPRESERVE_OWN)) {
117 if (ENABLE_FEATURE_TAR_UNAME_GNAME 117#if ENABLE_FEATURE_TAR_UNAME_GNAME
118 && !(archive_handle->ah_flags & ARCHIVE_NUMERIC_OWNER) 118 if (!(archive_handle->ah_flags & ARCHIVE_NUMERIC_OWNER)) {
119 ) {
120 uid_t uid = file_header->uid; 119 uid_t uid = file_header->uid;
121 gid_t gid = file_header->gid; 120 gid_t gid = file_header->gid;
122 121
@@ -129,9 +128,9 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
129 if (grp) gid = grp->gr_gid; 128 if (grp) gid = grp->gr_gid;
130 } 129 }
131 lchown(file_header->name, uid, gid); 130 lchown(file_header->name, uid, gid);
132 } else { 131 } else
132#endif
133 lchown(file_header->name, file_header->uid, file_header->gid); 133 lchown(file_header->name, file_header->uid, file_header->gid);
134 }
135 } 134 }
136 if ((file_header->mode & S_IFMT) != S_IFLNK) { 135 if ((file_header->mode & S_IFMT) != S_IFLNK) {
137 /* uclibc has no lchmod, glibc is even stranger - 136 /* uclibc has no lchmod, glibc is even stranger -