From cba2b2bc0977c2b6144fbdb5af88824d597f40bc Mon Sep 17 00:00:00 2001 From: Christian Schneider Date: Mon, 20 Jul 2020 13:28:29 +0200 Subject: [PATCH] fix latest commit (didn't work for large streams that weren't held in memory); fixes #109 --- precomp.cpp | 6 +++--- precomp.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/precomp.cpp b/precomp.cpp index 4b7fa39..e08c2e2 100644 --- a/precomp.cpp +++ b/precomp.cpp @@ -7881,7 +7881,7 @@ void write_ftempout_if_not_present(long long byte_count, bool in_memory, bool le } } -recursion_result recursion_compress(long long compressed_bytes, long long decompressed_bytes, bool deflate_type) { +recursion_result recursion_compress(long long compressed_bytes, long long decompressed_bytes, bool deflate_type, bool in_memory) { FILE* recursion_fout; recursion_result tmp_r; tmp_r.success = false; @@ -7898,7 +7898,7 @@ recursion_result recursion_compress(long long compressed_bytes, long long decomp } if (deflate_type) { - write_ftempout_if_not_present(decompressed_bytes, true); + write_ftempout_if_not_present(decompressed_bytes, in_memory); } recursion_push(); @@ -8001,7 +8001,7 @@ recursion_result recursion_compress(long long compressed_bytes, long long decomp return tmp_r; } recursion_result recursion_write_file_and_compress(const recompress_deflate_result& rdres) { - recursion_result r = recursion_compress(rdres.compressed_stream_size, rdres.uncompressed_stream_size, true); + recursion_result r = recursion_compress(rdres.compressed_stream_size, rdres.uncompressed_stream_size, true, rdres.uncompressed_in_memory); return r; } diff --git a/precomp.h b/precomp.h index 22ed29d..964a9b3 100644 --- a/precomp.h +++ b/precomp.h @@ -131,7 +131,7 @@ public: struct recompress_deflate_result; void write_ftempout_if_not_present(long long byte_count, bool in_memory, bool leave_open = false); -recursion_result recursion_compress(long long compressed_bytes, long long decompressed_bytes, bool deflate_type = false); +recursion_result recursion_compress(long long compressed_bytes, long long decompressed_bytes, bool deflate_type = false, bool in_memory = true); recursion_result recursion_decompress(long long recursion_data_length); recursion_result recursion_write_file_and_compress(const recompress_deflate_result&);