]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Issue 18: Limit compression-level to 6 within the
authorTim Kientzle <kientzle@gmail.com>
Wed, 1 Apr 2009 22:55:09 +0000 (18:55 -0400)
committerTim Kientzle <kientzle@gmail.com>
Wed, 1 Apr 2009 22:55:09 +0000 (18:55 -0400)
write options processing.  Restore the test to
exercise compression-level=9, which should work now
(even though the results should not be any different
than compression-level=6).  In particular, all compression
writers should now accept a compression-level option
with values from 0 through 9.

SVN-Revision: 904

libarchive/archive_write_set_compression_xz.c
libarchive/test/test_write_compress_lzma.c
libarchive/test/test_write_compress_xz.c

index 7981dd915c07c6021234bbf73e9f6d6c47944a0b..96c0577d569e7d6cd3aecb9f9bd14e57a546bfdc 100644 (file)
@@ -236,6 +236,8 @@ archive_compressor_xz_options(struct archive_write *a, const char *key,
                    value[1] != '\0')
                        return (ARCHIVE_WARN);
                config->compression_level = value[0] - '0';
+               if (config->compression_level > 6)
+                       config->compression_level = 6;
                return (ARCHIVE_OK);
        }
 
index 45e5041a3863fd108088f75d53c6236befd0edd9..4c3169ab2eb3d6dfafb76ae2f2c4e11e8ac83c81 100644 (file)
@@ -120,7 +120,7 @@ DEFINE_TEST(test_write_compress_lzma)
        assertEqualIntA(a, ARCHIVE_WARN,
            archive_write_set_compressor_options(a, "compression-level=99"));
        assertEqualIntA(a, ARCHIVE_OK,
-           archive_write_set_compressor_options(a, "compression-level=6"));
+           archive_write_set_compressor_options(a, "compression-level=9"));
        assertA(0 == archive_write_open_memory(a, buff, buffsize, &used2));
        for (i = 0; i < 100; i++) {
                sprintf(path, "file%03d", i);
index 290536a830022f15e62e66ad666bdb2ea733ad63..60effec28581919250e0537384fdde2b63727a68 100644 (file)
@@ -121,7 +121,7 @@ DEFINE_TEST(test_write_compress_xz)
        assertEqualIntA(a, ARCHIVE_WARN,
            archive_write_set_compressor_options(a, "compression-level=99"));
        assertEqualIntA(a, ARCHIVE_OK,
-           archive_write_set_compressor_options(a, "compression-level=6"));
+           archive_write_set_compressor_options(a, "compression-level=9"));
        assertA(0 == archive_write_open_memory(a, buff, buffsize, &used2));
        for (i = 0; i < 100; i++) {
                sprintf(path, "file%03d", i);