aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-05-18 21:12:36 +0000
committerkraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-05-18 21:12:36 +0000
commit0d4bfd0bd4f106ac1764384e1de6ecf888bce99c (patch)
tree58a8a0d53b85c8c15b69f2bfaa6fd4cc87a92d9a
parent71d10cced6a6134cd3671c0651cb787cafbf88d7 (diff)
downloadbusybox-w32-0d4bfd0bd4f106ac1764384e1de6ecf888bce99c.tar.gz
busybox-w32-0d4bfd0bd4f106ac1764384e1de6ecf888bce99c.tar.bz2
busybox-w32-0d4bfd0bd4f106ac1764384e1de6ecf888bce99c.zip
Handle -O preceding -x.
git-svn-id: svn://busybox.net/trunk/busybox@6845 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--archival/tar.c4
-rw-r--r--testsuite/tar/tar-extracts-to-standard-output3
2 files changed, 6 insertions, 1 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 00f9f87af..29244d4bf 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -645,7 +645,9 @@ int tar_main(int argc, char **argv)
645 break; 645 break;
646 case 'x': 646 case 'x':
647 ctx_flag |= CTX_EXTRACT; 647 ctx_flag |= CTX_EXTRACT;
648 tar_handle->action_data = data_extract_all; 648 if (tar_handle->action_data != data_extract_to_stdout) {
649 tar_handle->action_data = data_extract_all;
650 }
649 break; 651 break;
650 652
651 /* These are optional */ 653 /* These are optional */
diff --git a/testsuite/tar/tar-extracts-to-standard-output b/testsuite/tar/tar-extracts-to-standard-output
new file mode 100644
index 000000000..ca48e364e
--- /dev/null
+++ b/testsuite/tar/tar-extracts-to-standard-output
@@ -0,0 +1,3 @@
1echo foo > foo
2tar cf foo.tar foo
3cat foo.tar | busybox tar Ox | cmp foo -