diff options
-rw-r--r-- | archival/libunarchive/data_extract_all.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/archival/libunarchive/data_extract_all.c b/archival/libunarchive/data_extract_all.c index 3e4a77de8..0d529a616 100644 --- a/archival/libunarchive/data_extract_all.c +++ b/archival/libunarchive/data_extract_all.c | |||
@@ -128,10 +128,11 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle) | |||
128 | struct group *grp = getgrnam(file_header->gname); | 128 | struct group *grp = getgrnam(file_header->gname); |
129 | if (grp) gid = grp->gr_gid; | 129 | if (grp) gid = grp->gr_gid; |
130 | } | 130 | } |
131 | lchown(file_header->name, uid, gid); | 131 | /* GNU tar 1.15.1 use chown, not lchown */ |
132 | chown(file_header->name, uid, gid); | ||
132 | } else | 133 | } else |
133 | #endif | 134 | #endif |
134 | lchown(file_header->name, file_header->uid, file_header->gid); | 135 | chown(file_header->name, file_header->uid, file_header->gid); |
135 | } | 136 | } |
136 | if (!S_ISLNK(file_header->mode)) { | 137 | if (!S_ISLNK(file_header->mode)) { |
137 | /* uclibc has no lchmod, glibc is even stranger - | 138 | /* uclibc has no lchmod, glibc is even stranger - |