]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Preserve owner if cpio is run as root.
authorTim Kientzle <kientzle@gmail.com>
Sun, 6 Jul 2008 09:37:45 +0000 (05:37 -0400)
committerTim Kientzle <kientzle@gmail.com>
Sun, 6 Jul 2008 09:37:45 +0000 (05:37 -0400)
Submitted by: Kris Kennaway

SVN-Revision: 150

cpio/cpio.c

index 76a91cf71528b2653328bb45c07d3fa3d2b678bb..2f02a68fcbabcfe32953ff05b677de9df4a1a83c 100644 (file)
@@ -115,6 +115,9 @@ main(int argc, char *argv[])
        cpio->bytes_per_block = 512;
        cpio->filename = NULL;
 
+       if (geteuid() == 0)
+               cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER;
+
        while ((opt = cpio_getopt(cpio)) != -1) {
                switch (opt) {
                case '0': /* GNU convention: --null, -0 */