diff options
Diffstat (limited to 'src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c')
-rw-r--r-- | src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c b/src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c index f3a7446a0..d5ca9a665 100644 --- a/src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c +++ b/src/libs/3rdparty/libarchive/archive_write_set_format_7zip.c @@ -755,6 +755,10 @@ _7z_close(struct archive_write *a) */ #if HAVE_LZMA_H header_compression = _7Z_LZMA1; + if(zip->opt_compression == _7Z_LZMA2 || + zip->opt_compression == _7Z_COPY) + header_compression = zip->opt_compression; + /* If the stored file is only one, do not encode the header. * This is the same way 7z command does. */ if (zip->total_number_entry == 1) @@ -762,7 +766,8 @@ _7z_close(struct archive_write *a) #else header_compression = _7Z_COPY; #endif - r = _7z_compression_init_encoder(a, header_compression, 6); + r = _7z_compression_init_encoder(a, header_compression, + zip->opt_compression_level); if (r < 0) return (r); zip->crc32flg = PRECODE_CRC32; |