fix latest commit (didn't work for large streams that weren't held in memory); fixes #109

This commit is contained in:
Christian Schneider 2020-07-20 13:28:29 +02:00
parent 97c84feea3
commit cba2b2bc09
2 changed files with 4 additions and 4 deletions

View file

@ -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;
}

View file

@ -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&);