aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2002-04-15 15:01:37 +0000
committerMatt Kraai <kraai@debian.org>2002-04-15 15:01:37 +0000
commita0782684fd5076fd2ad5ca4f611249da83182108 (patch)
tree531b3fd32169ab5a0393d0629e9882d964383922
parent744ec1d54962d79528eef40dce5913edf9f78c6d (diff)
downloadbusybox-a0782684fd5076fd2ad5ca4f611249da83182108.tar.gz
* archival/bunzip2.c (bunzip2_main): Do not remove files if writing to standard
output. * testsuite/bunzip2/bzcat-does-not-remove-compressed-file: New.
-rw-r--r--archival/bunzip2.c4
-rw-r--r--testsuite/bunzip2/bzcat-does-not-remove-compressed-file3
2 files changed, 5 insertions, 2 deletions
diff --git a/archival/bunzip2.c b/archival/bunzip2.c
index a7b41b7d1..f2d514912 100644
--- a/archival/bunzip2.c
+++ b/archival/bunzip2.c
@@ -2373,11 +2373,11 @@ int bunzip2_main(int argc, char **argv)
}
if (uncompressStream(src_stream, dst_stream)) {
- if (save_name != NULL)
+ if (!(flags & bunzip_to_stdout))
delete_name = argv[optind];
status = EXIT_SUCCESS;
} else {
- if (save_name != NULL)
+ if (!(flags & bunzip_to_stdout))
delete_name = save_name;
status = EXIT_FAILURE;
}
diff --git a/testsuite/bunzip2/bzcat-does-not-remove-compressed-file b/testsuite/bunzip2/bzcat-does-not-remove-compressed-file
new file mode 100644
index 000000000..7d4016ec5
--- /dev/null
+++ b/testsuite/bunzip2/bzcat-does-not-remove-compressed-file
@@ -0,0 +1,3 @@
+echo foo | bzip2 >foo.bz2
+busybox bzcat foo.bz2
+test -f foo.bz2