diff options
author | Denys Vlasenko | 2014-01-27 13:02:18 +0100 |
---|---|---|
committer | Denys Vlasenko | 2014-01-27 13:02:18 +0100 |
commit | b664f740d90880560ce46b11f766625341342e80 (patch) | |
tree | 6a85f939b21e1d2c531cf02ce6e6a22c1e954425 | |
parent | bf2f2229bb108a7bdd39326eb4e886e2f47df960 (diff) | |
download | busybox-b664f740d90880560ce46b11f766625341342e80.zip busybox-b664f740d90880560ce46b11f766625341342e80.tar.gz |
libbb: open_zipped() should not fail on non-compressed files
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | archival/libarchive/open_transformer.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c index 1aeba13..27854af 100644 --- a/archival/libarchive/open_transformer.c +++ b/archival/libarchive/open_transformer.c @@ -200,7 +200,16 @@ int FAST_FUNC open_zipped(const char *fname) || (ENABLE_FEATURE_SEAMLESS_BZ2) || (ENABLE_FEATURE_SEAMLESS_XZ) ) { - setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1); + /* + * Do we want to fail_if_not_detected? + * In most cases, no: think "insmod non_compressed_module". + * A case which would like to fail is "zcat uncompressed_file": + * otherwise, it happily outputs uncompressed_file as-is, + * which is, strictly speaking, not what is expected. + * If this ever becomes a problem, we can add + * fail_if_not_detected bool argument to open_zipped(). + */ + setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 0); } return fd; |