aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2006-12-23 07:06:37 +0000
committerColin Percival <cperciva@FreeBSD.org>2006-12-23 07:06:37 +0000
commit5e522bbc2789a4ba9bd3a00245f289e09bd65e1e (patch)
treebfd0af70268f58d4e01c32e74c75e98f8a8d7025
parentfe7f4a3aad8aa65ded3a990d7f888c95a1b2039a (diff)
Notes
-rw-r--r--usr.bin/tar/bsdtar.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.bin/tar/bsdtar.c b/usr.bin/tar/bsdtar.c
index 0e0d437401d0..a6e45e93e9db 100644
--- a/usr.bin/tar/bsdtar.c
+++ b/usr.bin/tar/bsdtar.c
@@ -532,6 +532,8 @@ main(int argc, char **argv)
only_mode(bsdtar, "-n", "cru");
if (bsdtar->option_stdout)
only_mode(bsdtar, "-O", "xt");
+ if (bsdtar->option_unlink_first)
+ only_mode(bsdtar, "-U" "x");
if (bsdtar->option_warn_links)
only_mode(bsdtar, "--check-links", "cr");
@@ -552,6 +554,8 @@ main(int argc, char **argv)
buff[1] = bsdtar->symlink_mode;
only_mode(bsdtar, buff, "cru");
}
+ if (bsdtar->strip_components != 0)
+ only_mode(bsdtar, "--strip-components", "xt");
bsdtar->argc -= optind;
bsdtar->argv += optind;