Skip to content

Commit

Permalink
libdeflate: update to latest version
Browse files Browse the repository at this point in the history
  • Loading branch information
nemequ committed Nov 5, 2016
1 parent a0f40d8 commit e6a725a
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 20 deletions.
8 changes: 0 additions & 8 deletions plugins/libdeflate/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
include (SquashPlugin)

if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set_compiler_specific_flags(
VARIABLE no_lto
GCC -fno-lto)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

squash_plugin (
NAME libdeflate
SOURCES squash-libdeflate.c
Expand All @@ -24,8 +18,6 @@ squash_plugin (
DEFINES
_ANSI_SOURCE
SUPPORT_NEAR_OPTIMAL_PARSING=1
COMPILER_FLAGS
${no_lto}
INCLUDE_DIRS
libdeflate
libdeflate/common
Expand Down
2 changes: 1 addition & 1 deletion plugins/libdeflate/libdeflate
Submodule libdeflate updated 60 files
+3 −0 .gitignore
+0 −121 COPYING.LIB
+52 −47 Makefile
+20 −12 Makefile.msc
+29 −0 NEWS
+19 −8 README.md
+17 −2 common/common_defs.h
+49 −8 common/compiler_gcc.h
+0 −2 common/compiler_msc.h
+154 −44 lib/adler32.c
+0 −12 lib/adler32.h
+281 −0 lib/adler32_impl.h
+28 −17 lib/aligned_malloc.c
+3 −3 lib/aligned_malloc.h
+22 −7 lib/bt_matchfinder.h
+134 −26 lib/crc32.c
+0 −12 lib/crc32.h
+286 −0 lib/crc32_impl.h
+29 −14 lib/decompress_impl.h
+75 −49 lib/deflate_compress.c
+8 −5 lib/deflate_compress.h
+3 −3 lib/deflate_constants.h
+52 −36 lib/deflate_decompress.c
+33 −16 lib/gzip_compress.c
+3 −3 lib/gzip_constants.h
+47 −32 lib/gzip_decompress.c
+22 −7 lib/hc_matchfinder.h
+10 −5 lib/lib_common.h
+6 −6 lib/matchfinder_common.h
+27 −7 lib/x86_cpu_features.c
+14 −13 lib/x86_cpu_features.h
+33 −16 lib/zlib_compress.c
+3 −3 lib/zlib_constants.h
+42 −27 lib/zlib_decompress.c
+148 −109 libdeflate.h
+46 −44 programs/benchmark.c
+197 −0 programs/checksum.c
+35 −5 programs/detect.sh
+145 −82 programs/gzip.c
+148 −58 programs/prog_util.c
+15 −14 programs/prog_util.h
+135 −0 programs/test_checksums.c
+9 −9 tools/afl-fuzz/deflate_compress/fuzz.c
+4 −4 tools/afl-fuzz/deflate_decompress/fuzz.c
+4 −4 tools/afl-fuzz/gzip_decompress/fuzz.c
+4 −4 tools/afl-fuzz/zlib_decompress/fuzz.c
+104 −0 tools/android_build.sh
+0 −13 tools/arm_test.sh
+76 −0 tools/checksum_benchmarks.sh
+30 −0 tools/exec_tests.sh
+108 −0 tools/gen_crc32_multipliers.c
+22 −7 tools/gen_crc32_table.c
+412 −0 tools/gzip_tests.sh
+3 −2 tools/make-windows-releases
+9 −0 tools/mips_build.sh
+0 −12 tools/mips_test.sh
+23 −0 tools/pgo_build.sh
+274 −0 tools/run_tests.sh
+10 −0 tools/windows_build.sh
+0 −10 tools/windows_test.sh
22 changes: 11 additions & 11 deletions plugins/libdeflate/squash-libdeflate.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ SquashStatus squash_plugin_init_codec (SquashCodec* codec,

static size_t
squash_libdeflate_get_max_compressed_size (SquashCodec* codec, size_t uncompressed_size) {
return deflate_compress_bound(NULL, uncompressed_size);
return libdeflate_deflate_compress_bound(NULL, uncompressed_size);
}

static SquashStatus
Expand All @@ -66,9 +66,9 @@ squash_libdeflate_compress_buffer (SquashCodec* codec,
const uint8_t uncompressed[HEDLEY_ARRAY_PARAM(uncompressed_size)],
SquashOptions* options) {
const int level = squash_options_get_int_at (options, codec, SQUASH_LIBDEFLATE_OPT_LEVEL);
struct deflate_compressor *compressor = deflate_alloc_compressor(level);
*compressed_size = deflate_compress(compressor, uncompressed, uncompressed_size, compressed, *compressed_size);
deflate_free_compressor(compressor);
struct libdeflate_compressor *compressor = libdeflate_alloc_compressor(level);
*compressed_size = libdeflate_deflate_compress(compressor, uncompressed, uncompressed_size, compressed, *compressed_size);
libdeflate_free_compressor(compressor);
return HEDLEY_LIKELY(*compressed_size != 0) ? SQUASH_OK : squash_error (SQUASH_BUFFER_FULL);
}

Expand All @@ -79,20 +79,20 @@ squash_libdeflate_decompress_buffer (SquashCodec* codec,
size_t compressed_size,
const uint8_t compressed[HEDLEY_ARRAY_PARAM(compressed_size)],
SquashOptions* options) {
struct deflate_decompressor *decompressor = deflate_alloc_decompressor();
struct libdeflate_decompressor *decompressor = libdeflate_alloc_decompressor();
size_t actual_out_nbytes;
enum decompress_result ret = deflate_decompress(decompressor, compressed, compressed_size,
enum libdeflate_result ret = libdeflate_deflate_decompress(decompressor, compressed, compressed_size,
decompressed, *decompressed_size, &actual_out_nbytes);
deflate_free_decompressor(decompressor);
libdeflate_free_decompressor(decompressor);
*decompressed_size = actual_out_nbytes;
switch (ret) {
case DECOMPRESS_SUCCESS:
case LIBDEFLATE_SUCCESS:
return SQUASH_OK;
case DECOMPRESS_BAD_DATA:
case LIBDEFLATE_BAD_DATA:
return squash_error (SQUASH_FAILED);
case DECOMPRESS_SHORT_OUTPUT:
case LIBDEFLATE_SHORT_OUTPUT:
return squash_error (SQUASH_BUFFER_FULL);
case DECOMPRESS_INSUFFICIENT_SPACE:
case LIBDEFLATE_INSUFFICIENT_SPACE:
return squash_error (SQUASH_BUFFER_FULL);
}

Expand Down

0 comments on commit e6a725a

Please sign in to comment.