diff options
-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 1aeba13bc..27854af21 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) | |||
200 | || (ENABLE_FEATURE_SEAMLESS_BZ2) | 200 | || (ENABLE_FEATURE_SEAMLESS_BZ2) |
201 | || (ENABLE_FEATURE_SEAMLESS_XZ) | 201 | || (ENABLE_FEATURE_SEAMLESS_XZ) |
202 | ) { | 202 | ) { |
203 | setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1); | 203 | /* |
204 | * Do we want to fail_if_not_detected? | ||
205 | * In most cases, no: think "insmod non_compressed_module". | ||
206 | * A case which would like to fail is "zcat uncompressed_file": | ||
207 | * otherwise, it happily outputs uncompressed_file as-is, | ||
208 | * which is, strictly speaking, not what is expected. | ||
209 | * If this ever becomes a problem, we can add | ||
210 | * fail_if_not_detected bool argument to open_zipped(). | ||
211 | */ | ||
212 | setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 0); | ||
204 | } | 213 | } |
205 | 214 | ||
206 | return fd; | 215 | return fd; |