]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
7zip: Use compression settings for file header
authorAdrian Ebeling <devl@adrian-ebeling.de>
Mon, 17 May 2021 19:11:38 +0000 (21:11 +0200)
committerAdrian Ebeling <devl@adrian-ebeling.de>
Mon, 17 May 2021 19:11:38 +0000 (21:11 +0200)
libarchive/archive_write_set_format_7zip.c

index f3a7446a0a024675c0f4fece2fbb621f01717c64..9a892f71b2f2ffe4491e5fc030a208399b54f36c 100644 (file)
@@ -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;