mirror of
https://github.com/schnaader/precomp-cpp
synced 2026-08-23 00:23:04 -04:00
[WIP] Support zlib streams over 2 GB
bzip2 routines
This commit is contained in:
parent
621d8dca4d
commit
10a3854a23
2 changed files with 7 additions and 7 deletions
10
precomp.cpp
10
precomp.cpp
|
|
@ -2497,7 +2497,7 @@ long long def_compare(FILE *compfile, int level, int windowbits, int memlevel, l
|
|||
z_stream strm;
|
||||
long long identical_bytes_compare = 0;
|
||||
|
||||
int comp_pos = 0;
|
||||
long long comp_pos = 0;
|
||||
decompressed_bytes_used = 0;
|
||||
|
||||
/* allocate deflate state */
|
||||
|
|
@ -2579,7 +2579,7 @@ long long def_compare_bzip2(FILE *source, FILE *compfile, int level, long long&
|
|||
bz_stream strm;
|
||||
long long identical_bytes_compare = 0;
|
||||
|
||||
int comp_pos = 0;
|
||||
long long comp_pos = 0;
|
||||
decompressed_bytes_used = 0;
|
||||
|
||||
/* allocate deflate state */
|
||||
|
|
@ -3182,12 +3182,12 @@ long long file_recompress(FILE* origfile, int compression_level, int windowbits,
|
|||
return retval;
|
||||
}
|
||||
|
||||
long long file_recompress_bzip2(FILE* origfile, int level, long long& decompressed_bytes_used, int& decompressed_bytes_total) {
|
||||
long long file_recompress_bzip2(FILE* origfile, int level, long long& decompressed_bytes_used, long long& decompressed_bytes_total) {
|
||||
long long retval;
|
||||
|
||||
ftempout = fopen(tempfile1,"rb");
|
||||
fseek(ftempout, 0, SEEK_END);
|
||||
decompressed_bytes_total = ftell(ftempout);
|
||||
decompressed_bytes_total = tell_64(ftempout);
|
||||
if (ftempout == NULL) {
|
||||
error(ERR_TEMP_FILE_DISAPPEARED);
|
||||
}
|
||||
|
|
@ -6083,7 +6083,7 @@ void try_recompress(FILE* origfile, int comp_level, int mem_level, int windowbit
|
|||
void try_recompress_bzip2(FILE* origfile, int level, int& compressed_stream_size) {
|
||||
print_work_sign(true);
|
||||
|
||||
int decomp_bytes_total;
|
||||
long long decomp_bytes_total;
|
||||
identical_bytes = file_recompress_bzip2(origfile, level, identical_bytes_decomp, decomp_bytes_total);
|
||||
if (identical_bytes > -1) { // successfully recompressed?
|
||||
if ((identical_bytes > best_identical_bytes) || ((identical_bytes == best_identical_bytes) && (penalty_bytes_len < best_penalty_bytes_len))) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
int def(FILE *source, FILE *dest, int level, int windowbits, int memlevel);
|
||||
int def_compare(FILE *compfile, int level, int windowbits, int memlevel, int& decompressed_bytes_used, int decompressed_bytes_total, bool in_memory);
|
||||
int def_compare_bzip2(FILE *source, FILE *compfile, int level, int& decompressed_bytes_used);
|
||||
long long def_compare_bzip2(FILE *source, FILE *compfile, int level, long long& decompressed_bytes_used);
|
||||
int def_part(FILE *source, FILE *dest, int level, int windowbits, int memlevel, long long stream_size_in, long long stream_size_out);
|
||||
int def_part_skip(FILE *source, FILE *dest, int level, int windowbits, int memlevel, long long stream_size_in, long long stream_size_out, int bmp_width);
|
||||
int inf(FILE *source, int windowbits, int& compressed_stream_size, int& decompressed_stream_size, bool& in_memory);
|
||||
|
|
@ -20,7 +20,7 @@ bool brute_mode_is_active();
|
|||
int inf_bzip2(FILE *source, FILE *dest);
|
||||
int def_bzip2(FILE *source, FILE *dest, int level);
|
||||
long long file_recompress(FILE* origfile, int compression_level, int windowbits, int memlevel, long long& decompressed_bytes_used, long long decomp_bytes_total, bool in_memory);
|
||||
long long file_recompress_bzip2(FILE* origfile, int level, int& decompressed_bytes_used, int& decompressed_bytes_total);
|
||||
long long file_recompress_bzip2(FILE* origfile, int level, long long& decompressed_bytes_used, long long& decompressed_bytes_total);
|
||||
void write_decompressed_data(long long byte_count, char* decompressed_file_name = tempfile1);
|
||||
void write_decompressed_data_io_buf(long long byte_count, bool in_memory, char* decompressed_file_name = tempfile1);
|
||||
unsigned long long compare_files(FILE* file1, FILE* file2, unsigned int pos1, unsigned int pos2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue