From: Sean Purcell Date: Thu, 20 Apr 2017 21:02:08 +0000 (-0700) Subject: Fix compile errors with cmake and when zstd isn't present X-Git-Tag: v3.3.3~44^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60635a8986c616122e65abf5ac2b7ce0d7ec5f22;p=thirdparty%2Flibarchive.git Fix compile errors with cmake and when zstd isn't present --- diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index db239240b..1e561f3f6 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt @@ -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 diff --git a/libarchive/archive_write_add_filter_zstd.c b/libarchive/archive_write_add_filter_zstd.c index 29ba6ccad..2b56040a0 100644 --- a/libarchive/archive_write_add_filter_zstd.c +++ b/libarchive/archive_write_add_filter_zstd.c @@ -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;