diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-17 03:02:57 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-09-17 03:02:57 +0200 |
commit | 885583ebe3fea9eb8546bfb0614231d8f41e7979 (patch) | |
tree | b3e701cf4e981c1958ad8aecaaf9ef7f110cf7b6 | |
parent | d57d62686dac254e83fbc18f851c773ec16013d8 (diff) | |
download | busybox-w32-885583ebe3fea9eb8546bfb0614231d8f41e7979.tar.gz busybox-w32-885583ebe3fea9eb8546bfb0614231d8f41e7979.tar.bz2 busybox-w32-885583ebe3fea9eb8546bfb0614231d8f41e7979.zip |
tar: do chown, not lchown to restore mode (compat)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-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 - |