]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix compile errors with cmake and when zstd isn't present
authorSean Purcell <me@seanp.xyz>
Thu, 20 Apr 2017 21:02:08 +0000 (14:02 -0700)
committerSean Purcell <iburinoc@gmail.com>
Tue, 16 May 2017 03:06:48 +0000 (23:06 -0400)
libarchive/CMakeLists.txt
libarchive/archive_write_add_filter_zstd.c

index db239240b04f3e9fe6e82c18f42dc013649b0173..1e561f3f6d25bc4c919080d3701f0677e5f2a1ba 100644 (file)
@@ -130,6 +130,7 @@ SET(libarchive_SOURCES
   archive_write_add_filter_gzip.c
   archive_write_add_filter_lrzip.c
   archive_write_add_filter_lz4.c
+  archive_write_add_filter_zstd.c
   archive_write_add_filter_lzop.c
   archive_write_add_filter_none.c
   archive_write_add_filter_program.c
index 29ba6ccadfe90ef9279b140a9c807a8fb27413bf..2b56040a035393ce5a2ba95cdd63f59155c464fd 100644 (file)
@@ -147,7 +147,12 @@ archive_compressor_zstd_options(struct archive_write_filter *f, const char *key,
 
        if (strcmp(key, "compression-level") == 0) {
                int level = atoi(value);
+#if HAVE_ZSTD_H && HAVE_LIBZSTD
                if (level < 1 || level > ZSTD_maxCLevel()) {
+#else
+               /* If we don't have the library, hard-code the max level */
+               if (level < 1 || level > 22) {
+#endif
                        return (ARCHIVE_WARN);
                }
                data->compression_level = level;