diff options
Diffstat (limited to 'Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c')
-rw-r--r-- | Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c index 7f2e6ac90a..87b35864ec 100644 --- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c +++ b/Utilities/cmlibarchive/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; |