From: Tim Kientzle Date: Wed, 1 Apr 2009 22:55:09 +0000 (-0400) Subject: Issue 18: Limit compression-level to 6 within the X-Git-Tag: v2.7.0~37 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=88b368fb0c3bcbf770cd77b7811b2f5a849c51bb;p=thirdparty%2Flibarchive.git Issue 18: Limit compression-level to 6 within the 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 --- diff --git a/libarchive/archive_write_set_compression_xz.c b/libarchive/archive_write_set_compression_xz.c index 7981dd915..96c0577d5 100644 --- a/libarchive/archive_write_set_compression_xz.c +++ b/libarchive/archive_write_set_compression_xz.c @@ -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); } diff --git a/libarchive/test/test_write_compress_lzma.c b/libarchive/test/test_write_compress_lzma.c index 45e5041a3..4c3169ab2 100644 --- a/libarchive/test/test_write_compress_lzma.c +++ b/libarchive/test/test_write_compress_lzma.c @@ -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); diff --git a/libarchive/test/test_write_compress_xz.c b/libarchive/test/test_write_compress_xz.c index 290536a83..60effec28 100644 --- a/libarchive/test/test_write_compress_xz.c +++ b/libarchive/test/test_write_compress_xz.c @@ -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);